.net连接access数据库 关键字引起的 语句的语法错误

如果你的数据库的表的设计包含了Access包含的关键字(常用的System,master,admin,user,useres,userid,Money等),则在插入更新的时候会出现“语法错误”
例如:
string sqlText = String.Format("Insert into TestTable(Id,Order) values ({0},{1})",123,0);
这行上面这条语句是失败的,原因是TestTable表中有一个关键字"Order",解决办法:
(1).将语句中的关键字用[order]处理就可以了。如:
string sqlText = String.Format("Insert into TestTable(TestId,[Order]) values ({0},{1})",123,0);
 (2).将所有的字段都用[]括起来,或者在前面加上表名,这在许多代码生成器中都采用这种方式来解决关键字的冲突问题。如:
string sqlText = String.Format("Insert into TestTable([Id],[Order]) values ({0},{1})",123,0);
(3).在设计数据库的时候尽量避免使用Access本身的保留字。这样就不会出现应为关键字问题引起的错误了,这也是最佳的解决方法。

posted @ 2010-08-22 12:32  dzqabc  阅读(521)  评论(1编辑  收藏  举报