三层数据库应用服务器端ADO连接串的动态设定(100分)

  • 主题发起人 主题发起人 pwprivate
  • 开始时间 开始时间
P

pwprivate

Unregistered / Unconfirmed
GUEST, unregistred user!

请问各位:
如何动态的设置三层数据库应用中服务器端的ADOConnection.ConnectionString的值?
问题关键是在哪个事件中进行赋值,因为我曾试过在ADOConnection1BeforeConnect和
RemoteDataModuleCreate事件中赋值,但语句都没有被执行。有劳各位。
 
这两个事件都没问题,你是怎么设的
 
不可能!
 
什么不可能,在连接之前重新指定库,修改密码等都是完全没问题的(connectionstring)。
 
我是说他出这样的问题不可能,一定是代码有问题。嗬嗬!
 
我理解错了,诚挚向你道歉!!
 
var Servername, DataBaseName, UserId, Cstring, ErrorStr: string;
begin
Mis_Reg.OpenKey(Database_Reg, False);
{ ServerName := Mis_Reg.ReadString('ServerName');
DataBaseName := Mis_Reg.ReadString('DataBase');
UserId := Mis_Reg.ReadString('User');
Cstring := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=' + UserId +
';Initial Catalog=' + DatabaseName + ';Data Source=' + ServerName +
';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;' +
'Workstation ID=MIS01;Use Encryption for Data=False;' +
'Tag with column collation when possible=False';
Main_Adoc1.ConnectionString := Cstring;
try
Main_Adoc1.Open;
except
begin
MessageBox(Application.handle, '数据库连接失败!', Sys_msg, MB_OK + MB_ICONSTOP);
Application.Terminate;
end;
end;
}
 
把你的代码贴出来看看。
 
前面仁兄的答案太麻烦了吧?
var Str:string;
begin

str:=promptDatasource(AdoConnectionString);
Adoconnection.connectionstring:=str;
end;
 
后退
顶部