我在一系统中用的都是Datamodule中的一同一个ADOconnection,现在想在一页面中用一按钮来更换Adoconnection所连接的数据库,用的是以下语句,可是点击按钮后,没有任何反应,连接字符串也没有改变,请问哪位知道为什么,如果要更新的话应该怎么写才能使其当时就换连接别的数据库?
if datamodule9.ADOConnection1.Connected then
begin
datamodule9.ADOConnection1.Connected:=false;
str4:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=user012003;';
str5:='Data Source=YYY;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=YYY;Use Encryption for Data=False;Tag with column collation when possible=False';
datamodule9.ADOConnection1.ConnectionString:=str4+str5;
datamodule9.ADOConnection1.Connected:=true;
showmessage(str4+str5);
end;
if datamodule9.ADOConnection1.Connected then
begin
datamodule9.ADOConnection1.Connected:=false;
str4:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=user012003;';
str5:='Data Source=YYY;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=YYY;Use Encryption for Data=False;Tag with column collation when possible=False';
datamodule9.ADOConnection1.ConnectionString:=str4+str5;
datamodule9.ADOConnection1.Connected:=true;
showmessage(str4+str5);
end;
解决方案 »
- 请问如何实现stringgrid列宽自动变化?
- 在delphi的字符串中如何插入“不定个“空格
- 如何解决拔号传输数据的问题
- 一个字符串转日期类型的简单问题
- 为什么用XP.Style.v2.6.0.1.FS.For.D3-7做出界面后,菜单不能显示?
- 认识个小妹妹,很开心,呵呵!
- delphi里oraquery里field属性里的lookup选项啥意思
- 在Socket的方式中,如果给出SERVER与CLIENT之间的数据传输要求,那么该怎么做。我就是看不懂,请大家帮助。
- 速求一套财务软件源码(delphi),要求:经过应用的、符合现在财务制度、报表齐全丰富。请短信联系:13573803826
- delphi 的数据库 事务管理真他 吗 的烦,不如 PB 直观和常规。
- 急忙,一个简单的sql语句
- 怎样用IntallShiled打包用DBE
我现在就是不知道是不是在连接上一个数据库的时候换连接了别的数据库是不是不用重新登陆就能显示所连接数据库的内容?
Procedure TFrm1.ConnectDatabase(ServerName:string);
var ConStr:string;
FileIni:TIniFile;
Begin
FileIni:=TIniFile.Create(CONFILE);
With FileIni do
begin
ConStr:=ReadString(DBLOCK,CONNECTSTR,'');
free;
end;
if trim(ConStr)='' then
ConStr:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial '
+'Catalog=master'+';Data Source='+ServerName
+';Connect Timeout=15;Use Procedure for Prepare=1;'
+'Auto Translate=True;Packet Size=4096'
else
ConStr:=Copy(ConStr,1,pos('Initial Catalog=',Constr)+15)+'Master'+
Copy(ConStr,pos(';Data Source=',Constr),length(Constr));
Sys_Connect.connected:=False;
Sys_Connect.ConnectionString :=ConStr;
try
application.ProcessMessages;
screen.Cursor :=crSQLWait;
Sys_Connect.Connected :=True;
screen.Cursor :=crdefault;
except
application.MessageBox('连接失败!',MB_OK+MB_ICONSTOP);
abort;
end;
end;
中没有说明密码,所以对于有密码的sql则你需要加入密码
str4:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=mypass;Initial Catalog=user012003;'