C++Builder 程序员博客
13 Nov
程序原来是在sql server 2000下运行的
现在要在sql server 2005下运行
已经把原来sql server 2000下的表一模一样的在sql server 2005下建好了
(程序就用一张表有int,varchar,datetime,money几个字段)
调试程序发现在一处代码处过不去
TTable *mytable;
mytable->Open();//这处代码处过不去,运行到这句代码报下面的错误
报错是
The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility
网上查上面报的错为在sql server 2005下使用了("*=" or "=*")不兼容,但是程序并没有找到使用了不兼容语句的地方
谁知道问题出在哪呢
把你的控件换成ADOTable看看,
__published: TADOTable *mytable; //非自己定义的! ////////////////////////////////////////// mytable->Open();
最好不要用BDE面板的组件来操作sql服务器数据库
既然有ADOTable,就用ADO的!
程序是很多年前写的
如果换,涉及的地方太多
我不想换
有其它解决办法吗
要换起来也容易,先把程序做个备份!
Table和ADOTable的很大一部分方法和属性都是一样的,你直接来个字符串替换
即可!
而且你用的BDE,这种数据库驱动程序已经比较老了,发布这种数据库程序也比较费事,
访问sql类型的数据库,建议你用ADO组件!
建议你用ADO组件