代码不附,只做记录。
1、大部分数据库的读取部分会写在窗体的onShow事件里,此时数据库的更新会在窗体的每次Show中进行数据的连接,也就是说,如果一个ADOConnection1对应两个ADOQuery1和ADOQuery2,当通过ADOQuery1操作数据库后,与ADOQuery2相关联的DataSOURce以及DBGRid不会进行更新,但当关闭程序或者窗体,再次打开时,ADOQuery2及相关联的组件进行了更新。
因此,可以尝试同一个ADOQuery而分别连接两个DataSource
2、若在建立一个连接数据库按钮,并在此按钮的click事件里添加ADOConnecting而不是在窗体的onShow事件中,当点击按钮连接后,再次点击就会出现错误提示“对象已打开。。。。。。”,这是因为之前已经建立连接,再次建立连接时ADOQuery已经存在了向上的数据库连接(即使相同,亦不可),此时可以在按钮的click事件里最后补充ADOQuery.close即可解决。
但是,当存在另一个按钮是查询上述的ADOQuery时,由于在连接数据库后存在close事件,使得使用SQL语言查询时,提示没有数据。
两个按钮的存在有矛盾,需要解决。