为何DELPHI6中ADOConnection自己生成的ConnectionString这么长????好复杂,不好意思,我没有分了!!多谢大哥。。(30分)

  • 主题发起人 主题发起人 fengyaxuan
  • 开始时间 开始时间
F

fengyaxuan

Unregistered / Unconfirmed
GUEST, unregistred user!
Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;
Data Source=./a.mdb;
Mode=Share Deny None;
Extended Properties="";
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password="";
Jet OLEDB:Engine Type=4;
Jet OLEDB:Database Locking Mode=0;
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

如果我要在程序中动态生成地话,哪些可以省略?哪些必须?

多谢!!

我真菜,分都没有,真不好意思!!
 
var
s:string;
begin
//动态连接数据库
with ADOConnection1 do
begin
Connected:=false;
S:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source='+ExtractFilePath(application.exename);//得到程序目录路径
S:=S+'data/friend.mdb;Mode=Share Deny None;Extended Properties="";';
S:=S+'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;';
S:=S+'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;';
S:=S+'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';
ConnectionString:=S;
Connected:=true;
ADOQuery1.Open;
end;
end;
 
就要前三个
Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;
Data Source=./a.mdb;
 
看看这个DataConn是TADOConnection
connstring:=PromptDataSource(Application.Handle,DataConn.ConnectionString);
if connstring<>'' then
DataConn.ConnectionString:=connstring;
 
跟你连接的数据库类型有关,mdb就要DelphiSwords说的那三个,
其他的类型你可以在Build connectionstring对话框里慢慢测试,
删去一个属性,点一下 Test Connection 。
 
我这儿是在D中第一次连接字符不长,关闭连接再开就变长了!
而且越来越长.不知道咋回事.用是一样用.
 
后退
顶部