【发布时间】:2014-01-02 12:14:15
【问题描述】:
我在以下插入命令字符串中找不到错误。让我知道你是否注意到。构建这种类型的命令字符串的最佳方法是什么。如果整个字符串显示红色〜,则很难找到错误。 我用 pm 选择了每个数据值。手动以避免任何机会或错误。
cmd = new OleDbCommand("insert into ProjectMaster (ProjectCode, TransactionType, Description, Justification, RequesterName, RquesterID) values ('" +
pm.ProjectCode + "','" + pm.TransactionType + "','" +
pm.Description + "','" + pm.Justification + "','" +
pm.RequesterName + "','" + pm.RequesterID + "')", con);
cmd.ExecuteNonQuery();
【问题讨论】:
-
请添加您拥有的错误消息。也google一下SQL注入
-
你有什么迹象表明甚至有是错误?至于如何构建查询的一般建议,我想到了两件事:1)不要使用字符串连接,使用参数化查询; 2) 偶尔使用回车让你的代码更易读。
-
当你把括号放在正确的位置时,RquesterID 可能是你的下一个问题。如果考虑标准化,你也会好很多。例如,如果您确实有一个 Requester 表,那么使用连接插入而不是将所有数据吸入客户端会有很大帮助。
标签: c#