如何动态创建ADO查询???

winkiky 2002-10-16 12:07:09
同事在delphi里使用这个方法创建查询速度比BCB的组件快了不少,可是在我在CB里没有成功,不知道有没有那位哥们用过这个方法???
Variant conn=CreateOleObject("ADODB.Connection");
AnsiString constr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\test.mdb;Persist Security Info=False;Password=" ;
conn.Open constr;
...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
winkiky 2002-10-21
  • 打赏
  • 举报
回复
看来这个问题大家都没有怎么用过,算了,还是接贴吧,自己慢慢摸索得了!
winkiky 2002-10-17
  • 打赏
  • 举报
回复
其实我说的是利用ADO原型来创建连接的,而不是建表,也不是动态查询!!
先用ADODB来创建连接对象,然后指定连接字符串建立连接,然后创建指针取得查询的数据集,是这么一个过程,根本不需要BCB提供的ADO控件,就像asp里操作数据库一样的
winkiky 2002-10-16
  • 打赏
  • 举报
回复
你没有明白我的意思,这样还是使用ADO组件,只不过是动态创建而已
不知你用过asp没有,我要的是那个效果!
WhyAndAnswer 2002-10-16
  • 打赏
  • 举报
回复
应该是:
TADOConnection *cn=new TADOConnection(NULL);
cn->ConnectString="......";
cn->Connected=true;
lifuming 2002-10-16
  • 打赏
  • 举报
回复
或以动态产生ADOQuery->SQL->Add(String sqlstr)中的sqlstr,我只做过实现单层查询即只对于有一个select的查询,这种方式的实现方法要建立一个中间表,这个中间表用来存储所有需要进行动态查询的数据表,表结构如下:
create table sysdata
(
fieldname varchar(20) not null,//某数据表的字段名
fieldtype char(10) not null, //字段类型
fromdb varchar(20) //来自表
)
看了这个之后也许你会有一点启发吧,然后再建立一个中间查询表用来存储查询的where条件,表结构如下:
create table finddb
(
fieldname varchar(20),//字段名
symbol char(10), //符号,如:like,=,<,>等
result varchar(50), //查询结果
linksym char(5) //多个查询条件连接符如:and和or
)
其中对于某一个表来说select可能是一样的,变动大的可能是where条件,而finddb这个表就是用来设置where的,用一个循环来实现。

说了这些不知道你是否明白了,这个要自己亲手编一下,想想才行。
winkiky 2002-10-16
  • 打赏
  • 举报
回复
怎么没有人吱声阿???
不会都没有用过这个的吧??

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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