小妹子有一问题不明白:dll中能放QUERY等控件不?如果可以,如何把查询的结果传到程序中的dbgrid中? 另外如何在dll被调用的时候,让adoconnetion连接数据库?在什么事件中?dll好象没有事件吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有必要将ado系列组件放到dll里吗? 可以在Dll中建立数据模块,在数据模块中放AdoQuery 因为有一个表的结果集,在几个程序中都有用到,想放到dll中共用好了。longfeig(飞) :是先建立数据模块,放好query,然后建立dll加入数据模块吧?现在的问题是如何让程序得到查询出的结果集? 可以,可以创建一个TQuery但是databasename要指定,建议最好不用 在dll中做一个函数或过程传递一recordset参数不就可以了吗! 先建个Datetable,再用Query查寻,结果可放在Datetable中,可用报表显示 可以procedure GetRecord(sql:string,var MyQuery:Tadoquery);beginmyquery.connection:=adoconnection1;myquery.sql.clear;myquery.sql.append(sql);myquery.open;end;exportsGetRecord; ____在dll中动态创建adoquery,联数据库,作查询~~~~~~ lydwei() ( ) :如何传递?能做个例子不? 诸位:把数据模块放在dll中有些什么不妥吗?请指教,我可以开个新帖给分。 DLL主要的功能不在这个地方!用DLL来调用没有什么意义! 可以用DLL创建带有vcl控件的应用 其实就是访问dll中的数据集的问题啊?难道没有人知道吗? 应该是可以。我做三层结构,用到DLL,我就在DLL中放入了DataModule,并且把主程序的DCOMConnection传入到DLL中,使整个程序共用同一个连接。你的DLL中的ADOConnection因该有由主程序传入,而不应该再在DLL放入另外一个ADOConnection。从DLL中取数据集,你可以把主程序的TADODataset传入到DLL中,使传入的TADODataset的Recordset等于Dll中的TADODataset.Recordset,就可以把数据取出来,但是这样的数据集是否可以通过TADODataset修改后保存回数据库,我没有测试过。我一般是自己维护数据集,直接写SQL发送到后台来修改数据。 可以的,但用的时候不要用Tquery作参数type pquery = ^Tquery;这样pquery是一个二重指针,比较好。你作一个函数把在dll中的pquery传出来,datasource.dataset:=Pquery1^;就可以了。 netlib(河外孤星) :如何做,能点代码吗?我想把Tquery作为Result的结果输出,结果在程序中调用时出错了。 我在一个工程中也有碰到这样的问题,我写了这样的一个Active Dll Libary,在dll中有一个属性,[customer :_recoredset],取值过程用 result:=ADODB_TLB._Recoredset(adodataset1.recordset);程序编译通过了,但我客户端的数据却取不到,这样子的方法是从李维的ADO 那本书上看来的,书上有讲,但我调不通这个程序,趁这个机会一起问一下,请指教,可以另外建贴给分,想要多少开价来。 与其这样做,你可返过来想一下。你在主程序.exe中定义一query通过参数传过去,这样做了,你可直接操此query,而不用考虑返回值。当然你想按你的题目做那也可实现的。 谁能做个demo给我,给200分吧。查了些资料,好象访问dll中的共享数据要用内存映射。哪位能帮我做个demo?要求就是能把dll的数据让exe共享,比如dll用adoquery查询出一个结果集,能用exe上的dbgrid显示出来。 请教SQL查询语句 线程中使用ado问题 SQLMAIL 求助:关于一个quickreport的脚本写法 fr的PAGE.changepaper的使用问题? 在数据集中如何定位某条记录? 急 100分相送!在Com中怎样做对象集合的接口? 请问用extracticon读取程序的ico图标后如何将它保存为ico文件? DELPHI的两个问题:1、关于服务程序启动的问题 请问两TDateTime类型T1,T2,T1比T2早一秒,什么用T2表示T1? ACCESS,sos 帮帮我吧!
longfeig(飞) :是先建立数据模块,放好query,然后建立dll加入数据模块吧?
现在的问题是如何让程序得到查询出的结果集?
procedure GetRecord(sql:string,var MyQuery:Tadoquery);
begin
myquery.connection:=adoconnection1;
myquery.sql.clear;
myquery.sql.append(sql);
myquery.open;
end;
exports
GetRecord;
用DLL来调用没有什么意义!
我做三层结构,用到DLL,我就在DLL中放入了DataModule,并且把主程序的DCOMConnection传入到DLL中,使整个程序共用同一个连接。
你的DLL中的ADOConnection因该有由主程序传入,而不应该再在DLL放入另外一个ADOConnection。从DLL中取数据集,你可以把主程序的TADODataset传入到DLL中,使传入的TADODataset的Recordset等于Dll中的TADODataset.Recordset,就可以把数据取出来,但是这样的数据集是否可以通过TADODataset修改后保存回数据库,我没有测试过。我一般是自己维护数据集,直接写SQL发送到后台来修改数据。
type
pquery = ^Tquery;这样pquery是一个二重指针,比较好。
你作一个函数把在dll中的pquery传出来,datasource.dataset:=Pquery1^;
就可以了。
,在dll中有一个属性,[customer :_recoredset],取值过程用 result:=ADODB_TLB._Recoredset(adodataset1.recordset);
程序编译通过了,但我客户端的数据却取不到,这样子的方法是从李维的ADO 那本书上看来的,书上有讲,但我调不通这个程序,趁这个机会一起问一下,请指教,可以另外建贴给分,想要多少开价来。