c#使用access的那些坑
目录
使用环境
vs2015 community , office2016 access ,已有数据库.mdb
1.语法错误 – 保留字
sql语句中出现 保留字 时,都需要用 [] 将字段名包裹,如:
select * from [class] where [date] = "2016/11/11"
查看官方文档:官方支持文档
2.设置联合主键
打开access — 双击表 — 设计/字段 — 视图:设计视图
先取消所设主键 — ctrl + 单击选择多个字段 —工具栏key(主键)即可
!!记得为字段取消唯一
3.联合两张表、排序
条件:两张表字段名、字段位置一致
执行: ( select * from 表1 where 条件1 union select * from 表2 where 条件2 ) order by 排序字段
4.sql语句计算不支持简略写法
如 count += 1 ,必须为 count = count +1
5.出现“内部错误: 无效的参数访问器: 2 BADBINDINFO”
以上情况主要出现在C#把SQL换成Access的代码中。
6.sql语句正确,但执行结果为0
使用CreateCommand(procName, prams)方法创建命令
当命令为update / insert / delete 等语句时,传入参数的顺序必须与执行的先后顺序一致。
7.access中验证sql语句是否正确
菜单栏:创建 — 查询设计 — 弹出来的窗口可关闭 — 进入查询
可点击右下角的sql或设计进行视图切换
sql视图:写入语句,点击运行,如果有语法错误会有报错,确定后定位