DataSet ds = new DataSet();
SqlCommand insertcommand = new SqlCommand("INSERT INTO [SaleDetails]([store_code],[goods_code],[goods_name],[spec],[qty],[tran_date],[amount],[re])" +
"VALUES(@store_code, @goods_code,@goods_name,@spec,convert(int,@qty,100),convert(datetime,@tran_date,100),convert(Decimal,@amount,100),@re)", new SqlConnection(connectionString)); insertcommand.Parameters.Add("@store_code", SqlDbType.VarChar);
insertcommand.Parameters.Add("@goods_code", SqlDbType.VarChar);
insertcommand.Parameters.Add("@goods_name", SqlDbType.VarChar);
insertcommand.Parameters.Add("@spec", SqlDbType.VarChar);
insertcommand.Parameters.Add("@qty", SqlDbType.Int, 10, "salqty");
insertcommand.Parameters.Add("@tran_date", SqlDbType.DateTime, 255, "trddtm");
insertcommand.Parameters.Add("@amount", SqlDbType.Decimal, 18, "salamt");
insertcommand.Parameters.Add("@re", SqlDbType.VarChar, 200, "");
sqldataadapter.InsertCommand = insertcommand;sqldataadapter.Update(ds, "onrcd"); 里面dataset的"salqty"字段的内容为字符串,数据库对应的值为Int,在update里报错,string不能转为int,该如何处理呢?请教
不都是这么转换的么 int.Parse(string); 么?
看着就不对啊。。 insertcommand.Parameters.Add("@qty", SqlDbType.Int, 10, "salqty");类型明显匹配不上。。
insertcommand.Parameters.Add("@qty", SqlDbType.Int, 10, "salqty");
如果qty该字段是存字符串的,,那把SqlDbType.Int改了,SqlDbType.VarChar如果qty该字段是存整形的,,那"salqty"的值有问题。
ds.Tables["onrcd"].Columns.Add("intsalqty", typeof(int), "salqty");然后将
insertcommand.Parameters.Add("@qty", SqlDbType.Int, 10, "salqty");
改为
insertcommand.Parameters.Add("@qty", SqlDbType.Int, 10, "intsalqty");