动态调用本地ADO数据库的问题,怎样才能使其不设置ODBC直接在程序中设置路径就可连接的? (20分)

  • 主题发起人 主题发起人 etu5
  • 开始时间 开始时间
E

etu5

Unregistered / Unconfirmed
GUEST, unregistred user!
问要动态调用ADO数据库,用TADOQuery 该怎样设置他的connectstring属性嗄? 假设偶的数据库的路径是
ExtractFileDir(application.ExeName)+'/data.mdb'
偶想要的是动态的设置路径的,而不是在ODBC中设置好数据源的那种,有办法实现吗?


很急阿 帮帮偶这个初学者吧!
 
不知你是不是想做成这样:
在 uses 语句中加AdoConEd 单元
ADOConnection1.Close;
if EditConnectionString(ADOConnection1) then
begin
showmessage(ADOConnection1.ConnectionString);
ADOConnection1.open;
end;
 
namec:=ExtractFileDir(application.ExeName)+'/data.mdb';
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
namec+';Jet OLEDB:Database Password='+DBPassWord+
';Persist Security Info=False';
ADOConnection1.open;
 
uses ADODB

s:=promptdatasource(application.handle,s)
 
keepyea兄弟可否解释一下你写的是什么意思阿?

谢谢
 
一、插入ADOConnection,然后设置:

ADOConnection1.Close;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'User ID=Admin;' +
'Data Source=' + 路径&文件名+';'+
'Mode=ReadWrite;Extended Properties="";' +
'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';
ADOConnection1.Open('','');

二、插入TADOQuery,连接到ADOConnection1上即可。
 
多谢各位,上面的问题解决了……不过又出了个怪问题

偶在data.mdb里面设置了两个表:indexdata,note
然后在一个过程里写了如下语句:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from indexdata ');
ADOQuery1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from note');
ADOQuery1.Open;
end;

点击Button1时正常出现了所有记录,可是点Button2时却出现个错误提示:“FORM子句语法错误”

这是怎么回事阿?
 
多人接受答案了。
 
气死我了,舍玉取瓦,愚不可及!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部