当access的数据库存储为ansi-89语法模式时,在access中运行查询没什么问题但是在ado中会引起相当多的混乱包括
1,部分函数不能使用
2,复杂的多表连接不能使用
3,insert into select只能插入一条记录
4,存储过程或参数化查询中的语法出问题,其中包括like运算符
总之就是一团糟
后来在access中把sql模式改为ansi-92模式,一切问题解决
在ADO中只能使用ansi-92模式,当创建数据库时使用ansi-89 sql语法似乎就会出现这些问题
以现有的网站空间环境来看应该把mdb文件保存为access 2003 ansi-92格式
accdb格式新增了多值字段和二进制类型的支持,及提高的性能,sql查询没什么增强,况且一般的空间也不会支持
不过access的update语句始终无法使用子查询,连接表中也不能使用计算字段,用access的就是悲剧呀
在Access数据库中,将SQL模式从ansi-89更改为ansi-92,可以解决ADO中遇到的问题,如部分函数无法使用、复杂的多表连接受限、insertintoselect操作限制等。推荐将MDB文件保存为access2003ansi-92格式以兼容现有网站空间环境。ACCDB格式虽新增了支持,但一般空间不支持且access的update语句仍无法使用子查询或连接表中的计算字段。

被折叠的 条评论
为什么被折叠?



