另外如何在dll被调用的时候,让adoconnetion连接数据库?在什么事件中?dll好象没有事件吧?

解决方案 »

  1.   

    有必要将ado系列组件放到dll里吗?
      

  2.   

    可以在Dll中建立数据模块,在数据模块中放AdoQuery
      

  3.   

    因为有一个表的结果集,在几个程序中都有用到,想放到dll中共用好了。
    longfeig(飞) :是先建立数据模块,放好query,然后建立dll加入数据模块吧?
    现在的问题是如何让程序得到查询出的结果集?
      

  4.   

    可以,可以创建一个TQuery但是databasename要指定,建议最好不用
      

  5.   

    在dll中做一个函数或过程传递一recordset参数不就可以了吗!
      

  6.   

    先建个Datetable,再用Query查寻,结果可放在Datetable中,可用报表显示
      

  7.   

    可以
    procedure  GetRecord(sql:string,var MyQuery:Tadoquery);
    begin
    myquery.connection:=adoconnection1;
    myquery.sql.clear;
    myquery.sql.append(sql);
    myquery.open;
    end;
    exports
    GetRecord;
      

  8.   

    ____在dll中动态创建adoquery,联数据库,作查询~~~~~~
      

  9.   

    lydwei() (  ) :如何传递?能做个例子不?
      

  10.   

    诸位:把数据模块放在dll中有些什么不妥吗?请指教,我可以开个新帖给分。
      

  11.   

    DLL主要的功能不在这个地方!
    用DLL来调用没有什么意义!
      

  12.   

    可以用DLL创建带有vcl控件的应用
      

  13.   

    其实就是访问dll中的数据集的问题啊?难道没有人知道吗?
      

  14.   

    应该是可以。
    我做三层结构,用到DLL,我就在DLL中放入了DataModule,并且把主程序的DCOMConnection传入到DLL中,使整个程序共用同一个连接。
    你的DLL中的ADOConnection因该有由主程序传入,而不应该再在DLL放入另外一个ADOConnection。从DLL中取数据集,你可以把主程序的TADODataset传入到DLL中,使传入的TADODataset的Recordset等于Dll中的TADODataset.Recordset,就可以把数据取出来,但是这样的数据集是否可以通过TADODataset修改后保存回数据库,我没有测试过。我一般是自己维护数据集,直接写SQL发送到后台来修改数据。
      

  15.   

    可以的,但用的时候不要用Tquery作参数
    type
     pquery = ^Tquery;这样pquery是一个二重指针,比较好。
    你作一个函数把在dll中的pquery传出来,datasource.dataset:=Pquery1^;
    就可以了。
      

  16.   

    netlib(河外孤星) :如何做,能点代码吗?我想把Tquery作为Result的结果输出,结果在程序中调用时出错了。
      

  17.   

    我在一个工程中也有碰到这样的问题,我写了这样的一个Active Dll Libary
    ,在dll中有一个属性,[customer :_recoredset],取值过程用 result:=ADODB_TLB._Recoredset(adodataset1.recordset);
    程序编译通过了,但我客户端的数据却取不到,这样子的方法是从李维的ADO 那本书上看来的,书上有讲,但我调不通这个程序,趁这个机会一起问一下,请指教,可以另外建贴给分,想要多少开价来。
      

  18.   

    与其这样做,你可返过来想一下。你在主程序.exe中定义一query通过参数传过去,这样做了,你可直接操此query,而不用考虑返回值。当然你想按你的题目做那也可实现的。
      

  19.   

    谁能做个demo给我,给200分吧。查了些资料,好象访问dll中的共享数据要用内存映射。哪位能帮我做个demo?要求就是能把dll的数据让exe共享,比如dll用adoquery查询出一个结果集,能用exe上的dbgrid显示出来。