我的INSERT查询有问题,我想向订单表中插入一些数据,并且不断收到此错误。我在做什么错了?
我尝试将一些幻数添加到参数中,但错误仍然出现。
SqlCommand checkcmd = new SqlCommand("INSERT INTO [order] (user_id, overall_sum, date) VALUES (@user_id, @overall_sum, @date) SELECT SCOPE_IDENTITY()", con);
checkcmd.Parameters.AddWithValue("@user_id", ((MainWindow)Window.GetWindow(this)).UId);
checkcmd.Parameters.AddWithValue("@overall_sum", Convert.ToDecimal(sum));
checkcmd.Parameters.AddWithValue("@date", (DateTime.Now).ToString("yyyy-MM-dd HH:mm:ss"));
con.Open();
int insId = (int)checkcmd.ExecuteScalar();
con.Close();
答案 0 :(得分:-1)
而不是使用Parameters.AddWithValue(),而是查看Parameters.Add()。使您对类型有更多的控制。 您的特定错误是因为您试图在日期字段中存储字符串
更改
checkcmd.Parameters.AddWithValue("@date", (DateTime.Now).ToString("yyyy-MM-dd HH:mm:ss"));
到
checkcmd.Parameters.Add("@date" DbType.DateTime).Value = DateTime.Now;