操作ACCESS数据库注意事项

以下问题都是容易忽略,但却不容易找出问题的所在,让我头疼不少,故在此列出,即是一个总结,同样也给其他人参与!

1.使用参数形式执行SQL命令时,参数数组需与在SQL语句中参数名出现的位置及名称必须完全相同,否则执行不成功,但不会报错;

sql="insert table(a,b,c) values(@a,@b,@c)"

params={@a,@c,@b}  --->这是错误的

params={@a,@b,@c}  --->这是正确的

 

2.使用参数形式执行SQL命令时,当字段类型为时间类型时,需要显形声明参数类型为Date,不能采用参数名+值的形式

sql="update table set editdate=@dt"

param=new oledbparameter("@dt",DateTime.Now)  -->这是错误的,执行时会报错:标准表达式中数据类型不匹配

param=new oledbparameter("@dt",OleDbType.Date){Value=DateTime.Now} -->这是正确的

 

3.注意ACCESS数据库保留字,尽量不要使用该类字作为字段名,若确实需要使用,则应该加上方括号,显示说明

sql="update user set name='xxx'"  -->这是错误的

sql="update [user] set [name]='xxx'"  -->这是正确的,显示说明非系统保留字

posted @ 2013-11-04 16:02  梦在旅途  阅读(494)  评论(0编辑  收藏  举报