Avatar of Ron Renninger
Ron Renninger
 asked on

"Failed to convert parameter value from a String to a Decimal."

Below is the Procedure, code calling procedure and the last line is the varable passed

CREATE PROCEDURE AddPrice
(@ProductId INT,
@ProductSize VARCHAR(25),
@Price MONEY,
@SalePrice MONEY)
[/b]AS
INSERT INTO PriceTable(ProductId,ProductSize, Price, SalePrice)
VALUES(@ProductId, @ProductSize, @Price, @SalePrice)

Open in new window



 public static bool AddPrice(string ProductId, string ProductSize, decimal Price, decimal SalePrice)
    {
        DbCommand comm = genericDataAccess.CreateCommand();
        comm.CommandText = "AddPrice";

        DbParameter param = comm.CreateParameter();
        param.ParameterName = "@ProductId";
        param.Value = ProductId;
        param.DbType = DbType.Int32;
        comm.Parameters.Add(param);

        param = comm.CreateParameter();
        param.ParameterName = "@ProductSize";
        param.Value = ProductSize;
        param.DbType = DbType.String;
        comm.Parameters.Add(param);

        param = comm.CreateParameter();
        param.ParameterName = "@Price";
        param.Value = "Price";
        param.DbType = DbType.Decimal;
        comm.Parameters.Add(param);

        param = comm.CreateParameter();
        param.ParameterName = "@SalePrice";
        param.Value = SalePrice;
        param.DbType = DbType.Decimal;
        comm.Parameters.Add(param);

        // result will represent the number of changed rows
        int result = -1;

        try
        {
            // execute the stored procedure
            result = genericDataAccess.ExecuteNonQuery(comm);
        }
        catch
        {
            // any errors are loggin in genericdata access we ignore them here

        }
        return (result != -1);
    }

bool success = CatalogAccessClass1.AddPrice(ProductId.Text, ProductSize.Text, Convert.ToDecimal(Price.Text) , Convert.ToDecimal(SalePrice.Text));

Open in new window

C#

Avatar of undefined
Last Comment
Ron Renninger

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Shaun Kline

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Ron Renninger

ASKER
Thank you it was hard to find after looking at the code for a long time
Ron Renninger

ASKER
It is asp.net using C# but i did not see it in the drop down list
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes