我拖了一个ADOQuery1控件,然后填写ConnectionString属性,最后用dbgrid显示,
可以正常显示。但是现在我想要填写access的相对路径
我就把ADOQuery1控件的ConnectionString属性清空后,然后动态赋值,结果无法正常显示。
procedure TForm1.FormCreate(Sender: TObject);
begin
    ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.exename)+'data.mdb;Persist Security Info=False';
end;

解决方案 »

  1.   

    是不是ADOQuery1.ConnectionString:=赋值时不可以在formcreate函数里呢
      

  2.   


    FormMain.ADO1.ConnectionString:='Provider=SQLOLEDB.1;Password='+szPassword+''+
         ';Persist Security Info=True;User ID='''+szUser+''''+
         ';Initial Catalog='''+szDB+''''+
         ';Data Source='''+szIP+'''';
    这是我在INI文件读取出来动态赋值的。
      

  3.   

    Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=smsdb.mdb;Mode=Share Deny None;Extended Properties="";Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False上面个是SQL的,这个是ACCESS的,一样的道理。
      

  4.   

    问题在于动态给ADOQuery1设置ConnectionString没有任何效果,而不是字符串如何设置。
      

  5.   

    建议不要写在formcreate里。
    连接不上把Data Source='+extractfilepath(application.exename)+'data.mdb;
    改成你的Data Source=E:\data.mdb;//你放数据库的地方 
    试试。
      

  6.   

    动态一样可以设置,不知楼主是如何操作的,设置前先关掉一切链接再有,你最好键一个ADOConnection,然后所有数据去链接它
      

  7.   

    至于字符串如何设置大家不用关心。最关键是我给ADOQuery1控件直接在控件那填写ConnectionString属性,数据是可以正常显示的。
    但是我在代码里动态给ADOQuery1的ConnectionString属性赋值,数据就无法显示出来。
      

  8.   


    ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txl.mdb;Persist Security Info=False';
    ADOQuery1.SQL.Text := 'select * from stuff';
    ADOQuery1.Open;
    对照一下,看看是不是丢了哪个属性,上面3行,我试过了,没问题,在FormCreate时链接
      

  9.   

    FORMCREAT里好像不能连接数据库,你改为FormShow事件里面试一下。
      

  10.   

    是不是你关联错Query了。
    没问题的。