类型为' System.Data.SqlClient.SqlException'的未处理异常发生在System.Data.dll中;

时间:2016-05-03 16:13:40

标签: c# sql winforms

我有问题,补充信息:

  

参数化查询'(@ id nvarchar(4000),@ MaKhachHang nvarchar(4),@ MaHang nvarchar(40'期望参数' @ id',未提供

2 个答案:

答案 0 :(得分:2)

错误消息有点误导。问题很可能是您为@id提供的价值为null,但未转换为DBNull.value。试试这个:

cmd.Parameters.AddWithValue("@id", (object) metroGrid2.Rows[i].Cells[1].Value ?? DBNull.Value);

这将使用空合并运算符??来检测您的值何时为空,并将其替换为DBNull.Value

答案 1 :(得分:0)

你可能会递交null。您可以将@id传递的值合并为metroGrid2.Rows[i].Cells[1].Value??DBNull.Value,无论源数据是否为@id,都会为null准备值。