DataSource控件下面是没有这些属性的

解决方案 »

  1.   

    要设定datasource所要对应的数据集控件,必须使用dataset属性。我想你是要动态的创建database控件的参数吧,可以参考一下
      with Db1 do
      begin
        Connected := false;
        Params.Clear;
        DatabaseName := 'SvrBd';  //database控件本身的名字
        AliasName := 'Sd_Bd';  //database控件连接的别名
        LoginPrompt := false;
        try
          Connected;
        except
          Application.MessageBox(pchar('无法连接本地数据库,系统终止!'),pchar('警告'),mb_ok);
          Application.Terminate;
        end;
      end;而table控件动态连接到database控件的时候,才使用你上面的程序
      

  2.   

    或者修改为这样:procedure TForm4.FormCreate(Sender: TObject);
    begin
      with datamodule5.DataSource1.dataset do
      begin
      databasename:='lwzl';
      tablename:='book.db';
      indexfieldnames:='bookno';
    end;
    end;
      

  3.   

    小新说的是对的。datasource是没有这些属性的。应该从table,query,database等控件中想方法。
      

  4.   

    哎,100分又让cobi(我是小新,我只有5岁)给赚了。
      

  5.   

    cobi.我按照你说的做了一下,(2001-11-19 7:58:43) 。还是提示我说的那个错误。是不是我的datamodule设置有问题?
      

  6.   

    procedure TForm4.FormCreate(Sender: TObject);
    begin
      with datamodule5.DataSource1.dataset do
      begin
      databasename:='lwzl';
      tablename:='book.db';
      indexfieldnames:='bookno';
    end;
    end;
    按照这个做吗?你的datamodule5创建了没有?
      

  7.   

    我的datamodule5创建了,还是出问题。怎么办?
    急死了。
      

  8.   


    应该是数据类型的问题,以下是TDBDataSet的几个属性,请仔细看一下!property DatabaseName: string;
    property TableName: TFileName;
    property IndexFieldNames: string;
      

  9.   

    uses db,dbtables,这个有么
      

  10.   

    我加了uses db,dvtables还是提示那个啊。
      

  11.   

    在unit4里面,在第一个uses里面
    uses db,dbtables
      

  12.   

    先CReate一个TTable类型的table,对table设上面的三个属性,最后在吧datasource的dataset设为table,最后table.Open
      

  13.   

    或许直接这样写吧:
    procedure TForm4.FormCreate(Sender: TObject);
    begin
      with datamodule5.table1 do
      begin
        databasename:='lwzl';
        tablename:='book.db';
        indexfieldnames:='bookno';
        open;
      end;
    end;
      

  14.   

    cobi,还是不行,该怎么办?我给你发了mail。
      

  15.   

    我看不行,你就一步一步的写,datasource根本就没有什么databasename等属性,你就从table or query慢慢的把数据源,别名什么的设置一遍,准行!
      

  16.   

    我收到了,其实还是datasource的问题,即使加上了dataset的属性,后面的databasename等依然是无法调用,所以还是按照以下这样写吧!
    procedure TForm4.FormCreate(Sender: TObject);
    begin
      with datamodule5.table1 do
      begin
        databasename:='lwzl';
        tablename:='book.db';
        indexfieldnames:='bookno';
        open;
      end;
    end;你的程序我没有看全部,不过要改的就是这里。有继续需要帮忙的吗?
      

  17.   

    cobi 我试了还是不行。整个程序就这里有错误。别的地方没有。你运行我的代码看看,然后把正确的代码发给我把。谢谢。
      

  18.   

    cobi 把你的QQ号码也一同发给我吧。:)
      

  19.   

    两个错误:
    1.form4里的uses加上db、dbtables
    2.with datamodule5.booktable do
      
      

  20.   

    运行project1.exe时提示: Access violation at address 004806e0 in module 'PROJECT1.EXE'.read of 
    address FFFFFFFF.是什么意思?
      

  21.   

    FORM4窗口弹出来时提示:table is not indexde.
    点机OK时提示:booktable: not in cached update mode.
      

  22.   

    还有一个地方忘了改,你的datamodule5应该首先创建,或者把你的oncreate事件移到formshow里。刚才死机了,改了可能没有存盘
      

  23.   

    cobi 麻烦你重发把。我搞不定。
      

  24.   

    DataSource1.DataSet
    如果你没有DataSet,
    那就别提了!
      

  25.   

    用Table或者Query连接数据库,再用DataSource的DataSet属性与之相连