数据库连接问题,急求 我编了个程序,因为测试的时候要在本机,但交给别人使用的话就要用另外一个服务器,请问怎么样才能实现方便的在两个数据库服务器之间来回切换啊?我现在切换的时候需要手动的在程序里面改变数据库链接路径,非常麻烦,盼望大侠们指教,新手分不多,不要见怪。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以把连接的字符串写在一个ini文件中,如果更换了IP地址什么的就修改这里就行了. ls正解加个ini的配置文件要变数据库时,只需要改配置文件即可 ini文件里面写起来麻烦吗,如果不麻烦能不能贴个代码出来啊,比如说在服务器A和B之间切换 那程序运行的时候是不是要先读取一下ini文件? 1.先加立一个ini的文件内容如下sysconfig.ini:文件放在你的可执行文件同目录下.[system]serverIP=192.168.36.322.程序中读取引用inifiles文件 (uses IniFiles;) 把iniFiles加到uses中.读取的代码,直接调用函数就可以了function GetServerIP: String;var vServerIP: String; FServerIPIni:TIniFile;begin try try FServerIPIni:=TIniFile.Create(ExtractFilePath(Application.exename)+'sysconfig.ini'); vServerIP := FServerIPIni.ReadString('system','serverIP','127.0.0.1'); except vServerIP := '127.0.0.1'; end; finally FServerIPIni.Free; end; Result := vServerIP;end; 用法大致这样,具体你根据实际的进行字符串的拼,可以在ini中写很多内容. 其实方法很多,ini可以,你也可以建立一个.udl文件 相当于ADOCONNECTION 等等 偶的delphi方法參考如下:const STR1='Provider=SQLOLEDB.1;Password='; STRA=';Persist Security Info=True;User ID='; CSTRB=';Initial Catalog='; STR2=';Data Source=';function setConnStr(dbName, Svrname,pwd,usr: string);begin with adoconnnetion1 do begin adoconnnetion1.Close; adoconnnetion1.ConnectionString:=CSTR1+pwd+STRA+usr+STRB+dbName+TR2+SvrName+STR3; adoconnnetion1.Connected:=true; end; 将各个要连接的服务器数据库信息存在INI文件或MDB文件中,程序运行时读出供用户选择即可。 以前写数据库的程序也有过这样的办法那时没有想到用INI学习了谢谢1楼的兄弟 用.INI文件配置你的数据库连接比较方便 直接寫入INI文件讀取注意:記得把INI文件中的密碼加密,使用時再解密...類似這樣:[Setup]ServerName=172.60.100.88Password=rq13r1131fas13h1te3jh13h1w3gh13efqDatabaseName=ehrUserName=ehr[pzsz]JY=5N=10JL=5[mail]Port=25Host=192.168.203.9UName=testpwd=123456[email protected] DELPHI静态调用DLL的过程是如何实现的? DELPHItwain扫出来的文件太大? 【急】关于窗体改变大小的问题,解决就结贴!!! 请教:想用D7做个电子书,各位高手帮助一下,百分送上 巨难问题,高分求教:利用ICS的FTP下载文件,每隔396X个文件就报无法下载 帮一下忙,关于动态链接库的问题 关于表生成文本文件遇到的事情,急 组件? 关于DLL的求教 请问 updatesql 能不能想query一样设置 params 参数,如果能,怎样设置 delphi中 怎么判断主键 索引已经存在 Ctrl+鼠标滚轮怎么实现?
加个ini的配置文件
要变数据库时,只需要改配置文件即可
sysconfig.ini:文件放在你的可执行文件同目录下.
[system]
serverIP=192.168.36.32
2.程序中读取
引用inifiles文件 (uses IniFiles;) 把iniFiles加到uses中.
读取的代码,直接调用函数就可以了
function GetServerIP: String;
var
vServerIP: String;
FServerIPIni:TIniFile;
begin
try
try
FServerIPIni:=TIniFile.Create(ExtractFilePath(Application.exename)+'sysconfig.ini');
vServerIP := FServerIPIni.ReadString('system','serverIP','127.0.0.1');
except
vServerIP := '127.0.0.1';
end;
finally
FServerIPIni.Free;
end;
Result := vServerIP;
end;
const
STR1='Provider=SQLOLEDB.1;Password=';
STRA=';Persist Security Info=True;User ID=';
CSTRB=';Initial Catalog=';
STR2=';Data Source=';function setConnStr(dbName, Svrname,pwd,usr: string);
begin
with adoconnnetion1 do
begin
adoconnnetion1.Close;
adoconnnetion1.ConnectionString:=CSTR1+pwd+STRA+usr+STRB+dbName+TR2+SvrName+STR3;
adoconnnetion1.Connected:=true;
end;
学习了谢谢1楼的兄弟
注意:記得把INI文件中的密碼加密,使用時再解密...
類似這樣:[Setup]
ServerName=172.60.100.88
Password=rq13r1131fas13h1te3jh13h1w3gh13efq
DatabaseName=ehr
UserName=ehr
[pzsz]
JY=5
N=10
JL=5
[mail]
Port=25
Host=192.168.203.9
UName=test
pwd=123456
[email protected]