我有问题,补充信息:
参数化查询'(@ id nvarchar(4000),@ MaKhachHang nvarchar(4),@ MaHang nvarchar(40'期望参数' @ id',未提供
’
答案 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
准备值。