1

これが私のSQLステートメントです:

UPDATE InboxItem 
SET OrderId = @0, Item = @1, Quantity = @2, Price = @3, 
    Memo = "", InboxId = @4, VATId = @5 
WHERE Id = @6

SqlExceptionこれは、と言って をスローします

オブジェクトまたは列の名前が見つからないか空です。SELECT INTO ステートメントの場合、各列に名前があることを確認します。他のステートメントについては、空のエイリアス名を探します。\"\" または [] として定義されたエイリアスは使用できません。別名を有効な名前に変更してください。

私は問題が何であるかを知っていると思います。メモに価値を与えれば、すべてOKです。ただし、メモを空の文字列にしたい場合があります。これを行う方法?

4

2 に答える 2

5

''の代わりに使用し""ます。また、入力が適切にエスケープされていることも確認してください (文字列の 1 つにエスケープされていないコンマが含まれている可能性があります)。

于 2012-05-25T15:36:24.403 に答える
1
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
于 2012-05-25T16:03:11.893 に答える