C# 数据库中的更新引发SqlException
以下是我的SQL语句:C# 数据库中的更新引发SqlException,c#,sql-server,C#,Sql Server,以下是我的SQL语句: UPDATE InboxItem SET OrderId = @0, Item = @1, Quantity = @2, Price = @3, Memo = "", InboxId = @4, VATId = @5 WHERE Id = @6 这会抛出SqlException,表示 对象或列名丢失或为空。选择进入 语句,验证每列是否有名称。对于其他语句,请参见 用于空别名。不允许使用定义为\“\”或[]的别名。 将别名更改为有效名称 我想我知道问题是什么
UPDATE InboxItem
SET OrderId = @0, Item = @1, Quantity = @2, Price = @3,
Memo = "", InboxId = @4, VATId = @5
WHERE Id = @6
这会抛出SqlException
,表示
对象或列名丢失或为空。选择进入
语句,验证每列是否有名称。对于其他语句,请参见
用于空别名。不允许使用定义为\“\”或[]的别名。
将别名更改为有效名称
我想我知道问题是什么。如果我重视备忘录,一切都好。然而,我有时希望备忘录是空字符串。如何做到这一点?使用
'
而不是'
。还要验证输入是否正确转义(可能其中一个字符串中有一个未转义的逗号)。使用'
而不是'
。还要验证您的输入是否正确转义(可能其中一个字符串中有一个未转义的逗号)。将查询更改为thisMemo=@7
,并在sql Parameters send string.empty中更改为@7的查询将查询更改为thisMemo=@7
,在sql Parameters send string.empty中更改为@7有时这只是一些小事情而已。)有时是一些小事
var sb = new StringBuilder();
sb.Append("UPDATE InboxItem ");
sb.Append("SET OrderId = @0, Item = @1, Quantity = @2, Price = @3, ");
sb.Append("Memo = @7, InboxId = @4, VATId = @5 ");
sb.Append("WHERE Id = @6");
var cm = new SqlCommand(sb.ToString());
cm.CommandType = System.Data.CommandType.Text;
cm.Parameters.AddWithValue("@1", Convert.ToInt16("OrderValue"));
//and so on