我拖了一个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;
可以正常显示。但是现在我想要填写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;
FormMain.ADO1.ConnectionString:='Provider=SQLOLEDB.1;Password='+szPassword+''+
';Persist Security Info=True;User ID='''+szUser+''''+
';Initial Catalog='''+szDB+''''+
';Data Source='''+szIP+'''';
这是我在INI文件读取出来动态赋值的。
连接不上把Data Source='+extractfilepath(application.exename)+'data.mdb;
改成你的Data Source=E:\data.mdb;//你放数据库的地方
试试。
但是我在代码里动态给ADOQuery1的ConnectionString属性赋值,数据就无法显示出来。
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时链接
没问题的。