背景:连接数据库用ADOQuery控件,但是程序一旦编译完成,如果想更改数据库连接设置还得重新修改ADOQuery的属性重新编译

如果可以在程序中可以随时设置ADOQuery的属性则会方便很多。

实现:调用如下程序可以进行数据库连接属性的设置

  1. ADOQuery1.ConnectionString:= PromptDataSource(Application.Handle, ADOQuery1.ConnectionString);
ADOQuery1.ConnectionString:= PromptDataSource(Application.Handle, ADOQuery1.ConnectionString);

这句话将你在数据库连接属性对话框中设置的链接属性赋给ADOQuery控件。如下图所示

delphi7调用数据库连接属性-LMLPHP

再得到connectionString后,下一次打开数据库时这个字符串又会为空,是因为ADOQuery对象在程序关闭之后从内存中消失了

你设置的属性也会随之消失,如果想让这个连接字符串一直存在,则需要将ADOQuery对象进行序列化,说白了就是把这个对象

写到  硬盘/文件  上去,delphi中有相应的函数,当然也可以将connectionString自己写到文件中去,每次打开时重新读取一下

原理和将对象序列化是一样的,好处是你可以将connectionString进行加密,免得被别人读取出数据库的密码。

不知道还有没有更好的办法,如果有知道的希望不吝赐教。

05-08 08:43