【发布时间】:2011-08-10 13:40:45
【问题描述】:
我们使用 SQL 2005 Express 进行存储。
我正在使用 ODBCCommand 更新表中的一些值,但出现以下错误。表包含所有有效列。
错误 [42000] [Microsoft][SQL Native Client][SQL Server] 关键字“SET”附近的语法不正确。所以请让我知道它有什么问题,查询在 SQL 浏览器中工作正常。
我的代码:
cmd = new OdbcCommand("UPDATE Transaction_Details SET SubscriptionCancelled=? WHERE SubscriptionID=?", conn);
cmd.Parameters.Add("@SubscriptionCancelled", OdbcType.VarChar, 255).Value = "Subscription Cancelled on " + DateTime.Now;
cmd.Parameters.Add("@SubscriptionID", OdbcType.VarChar, 255).Value = sSubscriptionID;
【问题讨论】:
-
你的 ODBCCommand 对象的 CommandType 是什么?
-
你为什么使用 OdbcCommand 而不是 SqlCommand?
-
我想指出,对我来说似乎没有必要将“Subscription Canceled on”作为存储在 SubscriptionCanceled 列中的数据的一部分。如果该列已被称为 SubscriptionCancelled (该名称已经有含义),我会将其设为 datetime 列并仅存储日期;否则,将来您将很难在该表中查询取消订阅的日期。只是一个建议。
-
@mitch - 我取消删除以便他可以测试,但我不确定。我检查了 msdn 信息,在一个示例中我发现它们没有分隔。但是他们也没有连接字符串
-
@JNK: :( 我认为你是对的。似乎不需要装饰......
标签: sql sql-server