Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error Converting data type 'Numeric' to Decimal (help!)

Good Day Everyone,

As of now im stuck with this error

Error Converting data type 'Numeric' to Decimal

this is my code

AddManualItems AddReconItem = new AddManualItems();
        UserAccess user = new UserAccess();
        AddReconItem.BranchCode = BranchCodeTextBox.Text;
        AddReconItem.ForLoanMonth = YearDropDownList.SelectedValue + "/" + MonthDropDownList.SelectedValue;
        AddReconItem.ItemWeight = Convert.ToDecimal(WeightTextBox.Text);     
        AddReconItem.PrincipalAmount = Convert.ToDecimal(PrincipalTexAmTextBox.Text);
        AddReconItem.PawnTicket = PwnTicketTextBox.Text;
        AddReconItem.ItemStorageGroup = Convert.ToInt16(StorageNameDropDownList.SelectedValue);
        AddReconItem.ReconID = Convert.ToInt16(ReconTypeDropDownList.SelectedValue);
        user.UserID = Session["UserID"].ToString();

        string a = servs.AddItemRecon(user, AddReconItem); // this is where the error appears in debug mode

the code inside of the ADDitemRecon(User,AddReconItem) is this

 using (SqlConnection reportsConn = new SqlConnection(sqlConnWriter))
            {
                reportsConn.Open();
                SqlCommand AddReconItem = new SqlCommand();
                AddReconItem.Connection = reportsConn;
                AddReconItem.CommandType = CommandType.StoredProcedure;
                AddReconItem.CommandText = "Updater.usp_AddReconcileItems";
                AddReconItem.Parameters.AddWithValue("@ITEMWEIGHT", Convert.ToDecimal( items.ItemWeight));
                AddReconItem.Parameters.AddWithValue("@ITEMPRINCIPALAMT", Convert.ToDecimal(items.PrincipalAmount));
                AddReconItem.Parameters.AddWithValue("@FORLOANMONTH", Convert.ToDateTime(items.ForLoanMonth));
                AddReconItem.Parameters.AddWithValue("@STORAGEGROUPID", items.ItemStorageGroup);
                AddReconItem.Parameters.AddWithValue("@BRANCHCODE", items.BranchCode);
                AddReconItem.Parameters.AddWithValue("RECONID", items.ReconID);
                AddReconItem.Parameters.AddWithValue("@PAWNTIX",items.PawnTicket);
                AddReconItem.Parameters.AddWithValue("@CREATEDBY", user.UserID.ToString());
                AddReconItem.ExecuteNonQuery();
            }

my property for ItemWeight is

 private decimal itemWeight;

    public decimal ItemWeight
    {
        get { return itemWeight; }
        set { itemWeight = value; }
    }

i bet the error is in the item weight because when i input in the item weight 12345.12 it works fine, but when i input 1234 instead of treating it as 1234.00 it treats it as 1234 only making it numeric..

any help? i do not know if my conversions are wrong

By the way my field in database is

fld_ItemWeight (decimal (38,6), not null

EDIT** Is there any bugs known in Decimal?? im using VS 2005 as of now.

like image 655
Albert Laure Avatar asked Sep 23 '13 09:09

Albert Laure


1 Answers

Found The answer! my stored Procedure is wrong i have decimal(9,6) in my stored procedured making it accept 3 digits or less !changed it to (18,2)\

like image 56
Albert Laure Avatar answered Sep 24 '22 20:09

Albert Laure