早些天,做三层的开发。因为看了李惟的《Delphi高效数据访问》,所以就想用Dbexpress做数据访问。在用Oracle访问是觉得挺不错的,只是有一点如果更新语句的表名如果用小写字母。就会出现错误说“找不到表”,弄了我查了好几天,才发现是这个原因。没有办法,所以,以后在提交数据时就将SQL全部变成大写。等我想用DBEXPRESS MSSQL访问数据时,刚开始一切都显得比较正常,直到我试了一个子查询中包括参数,错误出现了,“SQL Server Error: SQL State: 42000, SQL Error Code: 0 ”我差点晕过去,同样的查询在dbexpress for oracle中没有一点错误,我想了各种试试发现在子查询中,没有参数,则SQL正常执行没有一点问题,但一加上参数就出现这个错误。上网一通乱转终于在http://qc.borland.com/qc/wc/qcmain.aspx?d=8646找到的Borland公司的一些解释,
MSSQL Driver sub-query parameters do not work.
Project: Delphi
Build #: 7.1.1523.17956
Version : 7.0
Submitted By : Gordon Scrim
Report Type: Basic functionality failure
Date Reported: 7/15/2004 5:20:38 PM
Severity : Critical / Show Stopper
Last Updated: 7/15/2004 5:13:18 PM
Platform : 95, 98, 2000, NT, XP
Internal Tracking #:
Resolution: None
Resolved in Build : None
原来这个错误在2004年7月就有人报告了,但直到现在都没有改,而这个错误是"基本功能失败",我不知道这样数据驱动,我以后还敢不敢用,这难道是李惟书中强力推荐的数据访问模式。当然,没有办法,我也将的数据访问改为ADO,还算比较稳定。只是心里总觉得有些不舒服,所以,就上来胡乱灌灌水吧。