【发布时间】:2013-09-28 03:01:19
【问题描述】:
大家好,
现在我被这个错误困住了
Error Converting data type 'Numeric' to Decimal
这是我的代码
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
ADDitemRecon(User,AddReconItem) 里面的代码是这样的
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();
}
我的 ItemWeight 属性是
private decimal itemWeight;
public decimal ItemWeight
{
get { return itemWeight; }
set { itemWeight = value; }
}
我打赌错误在于物品重量,因为当我输入物品重量时 12345.12 可以正常工作,但是当我输入 1234 而不是将其视为 1234.00 时,它会将其视为 1234 仅使其成为数字..
有什么帮助吗?我不知道我的转换是否错误
顺便说一下,我在数据库中的字段是
fld_ItemWeight (decimal (38,6), not null
编辑** 十进制中有任何已知的错误吗?我现在使用的是 VS 2005。
【问题讨论】:
标签: c# asp.net tsql sql-server-2008-r2 database-connection