如何利用ado存取access数据库?能给我把代码发上来吗?谢谢~~

解决方案 »

  1.   

    dbgrid-->DataSource
    DataSource-->adotable
    adotable-->connectstring单击 ->build->microsoft jet 4.0 ole db-->单击
    连接  选中数据库  确定
    adotable-->tablename 选中数据库在formshow 
    中写  
    if adotable1.active=false then
      adotable1.active:=true;
      

  2.   

    我是想用text象数据库里添加内容,应该如何做???
      

  3.   

    adoquery、adotable好多都可以的。
    看帮助
    :)
    对了。为什么我的
    adoquery1.fieldbyname('a'):='123';
    它说我‘left side can not asign to’呢?
    adoquery1.fieldbyname('a')是左值吗?
    我看帮助里也是这样写的嘛!是不是我哪里没写全啊?
      

  4.   

    adoquery1.fieldbyname('a').Value:='123';
    是不是这样的。
      

  5.   

    这么说你已经会连接数据库了,最好使用TADOConnection+TADOQuery,不要用TADOTable,可扩展性比较差。
    假如你的情况是这样的:
    ADOConnection.ConnectionString := 'xxxxxx';
    ADOQuery.Connection := ADOConnection;
    ADOQuery.SQL :='SELECT * FROM XXX_Table';
    ===增加的情况===
    在Form上放若干TEdit组件,一个TButton:
    procedure TForm.ButtonOnClick(Sender : TObject);
    begin
      with ADOQuery do
      begin
        if not Active then
          Open;
        Append;//末尾插入
        FieldByName('Field1').Value := Edit1.text;
        FieldByName('Field2').AsInteger := StrToInt(Edit2.text);
        ...........
        Post;//提交
      end
    end;
    ===修改的情况===
    在Form上放一个TDataSource组件,设置其DataSet属性为ADOQuery,若干TDBEdit(不是Edit,当然也可以)组件,设置TDBEdit组件的DataSource属性和DataField属性。再放一个TButton:
    procedure TForm.ButtonOnClick(Sender : TObject);
    begin
      with ADOQuery do
      begin
        if not Active then    
          Open; 
        Post;
      end;
    end;
    ===修改的情况===
    在Form上放一个TDataSource组件,设置其DataSet属性为ADOQuery,若干TDBEdit(不是Edit,当然也可以)组件,设置TDBEdit组件的DataSource属性和DataField属性。再放一个TButton:
    procedure TForm.ButtonOnClick(Sender : TObject);
    begin
      with ADOQuery do
      begin
        if not Active then    
          Open; 
        Delete;
      end;
    end;
    以上代码比较粗糙,但基本原理就是如此了。记住,后面两个步骤我使用了TDBEdit组件,如果你要使用Edit组件,大致如下:
    Edit1.text := ADOQuery.FieldByName('FieldName').Value;
    .......
    修改需要注意:
    ADOQuery.Edit;
    ADOQuery.FieldByName('FieldName').Value := Edit1.text;
    .......
    ADOQuery.Post;
    删除没有差别,只是为了获取下一条数据,可以:
    ADOQuery.Next;
    Edit1.text := ADOQuery.FieldByName('FieldName').Value;
    .........