请问如何在delphi中实现对access的动态链接?
  先谢谢了!!

解决方案 »

  1.   

    var
      mdbfile:string
      pwd:string;
      user:string;
    begin
      //access数据库和exe入在同一个目录下
      mdbfile: =  ExtractFilePath(Application.ExeName)+'Data.mdb'; 
      user := 'admin';//用户名,默认是admin,
      pwd := '123456';//口令
      
    Provider=Microsoft.Jet.OLEDB.4.0;User ID='+user
    +';DataADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+mdbfile+';Persist Security Info=False;Jet OLEDB:Database Password='+  pwd;或者用默认的用户和口令,
    ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Data.mdb;Persist Security Info=False;Jet OLEDB:Database Password=12345';
      

  2.   

    如果窗口上已经放置了一下TADOConnection,则直接使用上面的代码设置TADOConnection的连接属性,再open即可;如果没有TADOConnection控件,则要动态创建于个
    var
      conn:TADOConnection;可以在Form的OnCreate事件中
    begin
      conn:= TADOConnection.Create(nil);
      conn.LoginPrompt:= false;//不弹出用户,口令输入提示框
      conn.ConnectionString :=   //access数据库和exe入在同一个目录下,当然改为任何目录下的MDB文件;
      mdbfile: =  ExtractFilePath(Application.ExeName)+'Data.mdb'; 
      user := 'admin';//用户名,默认是admin,
      pwd := '123456';//口令
      
      conn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID='+user
    +';DataADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+mdbfile+';Persist Security Info=False;Jet OLEDB:Database Password='+  pwd;  conn.open  ...
    end;  在Form的OnClose事件中,conn.close;
    conn.free;
      

  3.   

    [Error] Unit3.pas(70): Undeclared identifier: 'Application'
    [Error] Unit3.pas(70): ')' expected but identifier 'ExeName' found
    该怎么办呀?
      

  4.   

    var
      conn:TADOConnection;procedure TDataModule3.DataModuleCreate(Sender: TObject);
    var  mdbfile:string;
      pwd:string;
      user:string;
    begin
      conn:=ADOConnection1.Create(nil);
      conn.LoginPrompt:= false;//不弹出用户,口令输入提示框
      //conn.ConnectionString :=  //access数据库和exe入在同一个目录下,当然改为任何目录下的MDB文件;
      mdbfile:=ExtractFilePath(Application.ExeName)+'data.mdb';
      user := 'admin';//用户名,默认是admin,
      pwd := '123456';//口令  conn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID='+user+';Data Source='+mdbfile+';Persist Security Info=False;Jet OLEDB:Database Password='+  pwd;
      conn.open
    end;
      

  5.   

    conn:=ADOConnection1.Create(nil);  是 TADOConnection.Create
    在这儿,你也不用动态创建了,直接拉一个TADOConnection 控件,命名为“conn”好了,把
    conn:=ADOConnection1.Create(nil);注释掉。
      

  6.   

    uses
      SysUtils, Classes, DB, ADODB,Messages,Dialogs,
      ExtCtrls, Mask;
      

  7.   

    to:xxmmmx(踢踏) ( ) 
    >>[Error] Unit3.pas(70): Undeclared identifier: 'Application'
    >>[Error] Unit3.pas(70): ')' expected but identifier 'ExeName' found
    >>该怎么办呀?
    这个原因不是
    >>conn:=ADOConnection1.Create(nil);  是 TADOConnection.Create上面写的代码,是放在一个Form中执行的,而楼上是放在一个DataModule中执行;而在LZ的DataModule中,没有包含Forms这个单元,当然会找不到'Application'这个对象解决方法:在DataModule的单元中,包含Forms...
    interfaceuses
      SysUtils, Classes,Forms;//包含Forms这个单元type
      TDataModule3 = class(TDataModule)
        procedure DataModuleCreate(Sender: TObject);
      private
    ...
      

  8.   

    楼上说的对,增加Forms的引用
    uses Forms