再次提问如何动态链接adoquery的connection

coderee 2012-07-20 04:09:37
var a:TADOConnection;
a:=erp.adoconnection1; //a:=erp.adoconnection2;
qy6.connection:=a;
这样可以实现,不过我想实现的是把erp.adoconnection1和erp.adoconnection2定义在表里,实现如下代码:
var a:TADOConnection;
qy1.close;
qy1.sql.clear;
qy1.sql.add(select bl from aa); //bl的值为erp.adoconnection1或erp.adoconnection2)
qy1.open;
a:=qy1.fieldbyname('bl').asstring;
qy6.connection:=a;
但是a:=qy1.fieldbyname('bl').asstring;这句代码会出错,我知道原因是类型不一致,但要怎么做才能实现将表中的bl字段的值赋给qy6的connection呢?
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
7年 2012-07-20
  • 打赏
  • 举报
回复
就是说,数据库的字段类型没有TADOCONNECTION,所以你不能把TADOCONNECTION存放到数据库的。

可以把连接字符串放到数据库里,就是这个字符串:Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=master;Data Source=.
kyle_huang 2012-07-20
  • 打赏
  • 举报
回复
不明白你什么意思。

为什么 //bl的值为erp.adoconnection1或erp.adoconnection2)

存在数据库里面?


动态连接数据库,你可以用ini文件啊,网上有例子的。你自己去搜搜?
kaikai_kk 2012-07-20
  • 打赏
  • 举报
回复
楼主是想把控件保存在数据库吧,这可不行;

保存连接数据库的字符串吧(即ConnectionString内容),或者保存在ini文件中,对一些数据可以适当的加密后再保存

程序启动时,取出数据再赋值给ADOConnection的ConnectionString属性就行
coderee 2012-07-20
  • 打赏
  • 举报
回复
因为表有个字段的值为erp.adoconnection1或erp.adoconnection2,请问有什么好法吗?
7年 2012-07-20
  • 打赏
  • 举报
回复
一般我都把连接数据库的字符串写在INI文件里,连接的时候读取下就行了。
7年 2012-07-20
  • 打赏
  • 举报
回复
你在表里去出来的是字符串呀。。。。
如果想存在表里,那就存连接的字符串吧。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧