我用DELPHI7试验连数据库,没打代码.就设置一下控件,设计时是好的.但调试不显示数据.哪位帮个忙,

解决方案 »

  1.   

    调式是不成功?
    1.看ADOConnection是否连接成功
    2.数据集是否激活?
    要不把你的思路下下,让哥们学习下?
      

  2.   

    感谢上面二位大虾,
    我只是拖一下控件,代码都是自己生成.设计时是好的.但调试不显示数据.调试通过,没有错误提示.就是没有数据.只有窗体及几个显示控件.
    简单的:
    1.服务器端:tfrom+DBTable+DataSource+DataGrid
    2.数据模块1:datasetprovider
    数据模块2:dcomconnection+clientdataset
    3.客户端:tfrom+DataSource+DataGrid
      

  3.   

    感谢.
    DCOM 连接,数据集应该打开了.不然设计时就没有显示.
      

  4.   

    clientdataset有没有绑定Dcomconnection?
    Dcomconnection有没有绑定datasetprovider ?
      

  5.   

    感谢.
    以上这些都按书上说的设置了.代码是DELPHI7自动生成.自己在客户端加了一个button想运行时启动clientdataset.active但是打代码却出错:Unable to invoke Code Completion due to errors in source code.(已经用了uses dm;)就是在客户端调用不了数据模块2里的clientdataset.请问一下datamodule与remotedatamodule自动生成的代码有什么不同.如何在外面操作rdm里的clientdataset对象.
      

  6.   

    以下基本是D7自动生成:(关键是我不要哪个buttonclick调试没数据).
    unit dmpas;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
      Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
      DBClient, clientdpr_TLB, StdVcl, DB, MConnect;type
      Tdm = class(TRemoteDataModule, Idm)
        DCOMConnection1: TDCOMConnection;
        ClientDataSet1: TClientDataSet;
      private
        { Private declarations }
      protected
        class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
      public
        { Public declarations }
      end;implementation{$R *.DFM}class procedure Tdm.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
    begin
      if Register then
      begin
        inherited UpdateRegistry(Register, ClassID, ProgID);
        EnableSocketTransport(ClassID);
        EnableWebTransport(ClassID);
      end else
      begin
        DisableSocketTransport(ClassID);
        DisableWebTransport(ClassID);
        inherited UpdateRegistry(Register, ClassID, ProgID);
      end;
    end;initialization
      TComponentFactory.Create(ComServer, Tdm,
        Class_dm, ciMultiInstance, tmApartment);
    end.
    *******************************************************************
    unit client;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Grids, DBGrids, DB;type
      TForm1 = class(TForm)
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation
    uses dmpas;
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
    ClientDataSet1.(就这里错:Unable to invoke Code Completion due to errors in source code)
    end;end.
      

  7.   

    如果TSocketConnection 必须启动scktsrvr.exe
      

  8.   

    ClientDataSet1 跟DCOMConnection1 没有连接上
      

  9.   

    ado是否链接到正确的数据库上,是否选择了表,其实你还不如用adoquery+cds+DS+dbgrid的模式,然后在adoquery里面设置好数据库链接,在sql里面写好查询的语句,不是rp不好的话应该能显示的