使用ADO+MySQL时经常出现的错误分析及总结

来源:互联网 发布:讲诚信知廉耻 编辑:程序博客网 时间:2024/06/09 05:46

环境: Windows XP SP2 、Delphi 7、MyODBC 3.51

问题:在ODBC中配置MySQL数据源(如Hydro)完全正常,但是在D7中

1,使用ADOConnection有问题。在配置其ConnectionString时,如果选择了数据源Hydro,在初始数据库下拉框中也能够看到可选的数据库,但是如果选中每个数据库后,按“测试”按钮无法成功!可是如果不选具体数据库就可以测试通过。

原因不明。

解决方案:在ADOConnection的DefaultDatabase中填入初始数据库。

2,使用ADOQuery时,明明数据表hs_Goal有数据(可以从SQLYog或phpMyAdmin中看到),但是哪怕用

       select * from hs_Goal

       也无法在DBGrid中看到任何数据或者干脆提示“数据提供程序或其他服务返回E_FAIL状态”。

原因:hs_Goal中的DateTime类型的字段数据值有问题!默认值为 0000-00-00 00:00:00 ,ADO是不认这个的!

解决方案:修改所有不合法的DateTime。比如我在一个程序中就将“2000-00-00 00:00:00”改为“2000-01-01 00:00:00”,最好在表结构中为DateTime类型的字段设定一个合法的默认值。