配置数据库问题 DSN=OFFICE;DESC=OA system;DATABASE=office;SERVER=127.0.0.1;UID=root;PASSWORD=;PORT=3306;OPTION=3;STMT=;这是用ADO连接的ODBC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加一个TDataBase, 用DataBase.Param[i]赋值 use inifiles; s:string;myini :Tinifile;myini :=TIniFile.Create('c:\system.ini');s:=myini.ReadString('结点名','键名','键值');如果用ADO连接SQL则构造以下字符串就可以了Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=hotel;Data Source=lw 建一个.udl文件 ,然后将TADOConnection的ConnectionString设为ConnectionString:='File Name='+ExtractFilePath(Application.ExeName)+'xx.udl'这样比较方便! xiaofeng_cxy(萧风) 的方法比较方便,udl 的配置即是调用系统的 ADO 数据连接配置。 johnsonrao(johnson) 用你的database固然可施,但你也看看这个问题呀!你哪方法来这儿的人都知道。但你哪改变起来可有点烦哟,要改源码还要重新编译生成才行,且得又重新安装一篇。有谁能把方法说明一点,如一个配置文件,改了即可生效,Delphi又如何来读取这个配置文件达到数据库的配置,哪ODBC,什么BDE呀看起我就心烦,ADO都说还可以,但我一直不喜欢ADO,你们有何建见或者更好更简单的解决办法?若为配置文件也存在一个问题就是安全性不高了,里面的数据库,用户名,密码什么的都被看见了。 为什么不喜欢用ADO呢,给你看我的例子,用ADO访问SQL Server,用INI来保存数据库参数,其中口令字段我是加密保存的,你可以随便用一个对称加密算法来做,ADO的数据库连接参数放在TADOConnection.ConnectionString里面,只要组合这个字符串就好了DB.INI[database]ServerName = xxxx;UserName = xxxx;Password = xxxx;InitDB = xxxx;function GetConnectionString: string;var SYSINI: TINIFile; ServerName, UserName, Password, InitDB: string; tmpstr: string;begin SYSINI := TIniFile.Create('DB.INI'); try ServerName := SYSINI.ReadString('Database', 'ServerName', ''); UserName := SYSINI.ReadString('Database', 'UserName', ''); InitDB := SYSINI.ReadString('Database', 'InitDB', ''); tmpstr := SYSINI.ReadString('Database', 'Password', ''); Password := Decrypt(tmpstr, Key); Result := ''; Result := 'Provider=SQLOLEDB.1;Password=' + Password + ';Persist Security Info=True;User ID=' + UserName + ';Initial Catalog=' + InitDB + ';Data Source=' + ServerName; finally SYSINI.Free; end;end;procedure SetConnectionString(ServerName, UserName, Password, InitDB: string);var SYSINI: TINIFile; tmpstr: string;begin SYSINI := TIniFile.Create('DB.INI'); try with SYSINI do begin WriteString('Database', 'ServerName', ServerName); WriteString('Database', 'UserName', UserName); WriteString('Database', 'InitDB', InitDB); tmpstr := Encrypt(Password, Key); WriteString('Database', 'Password', tmpstr); end; finally SYSINI.Free; end;end; 当然你也可以用UDL文件来做,如果你要,我可以给你例子 使用 UDL 方法吧,简单,方便,快速.在ADO的连接处选择第一个选项就可以了. 高手请进,关于inf文件...... 过节了,也成一颗小星了,也虚荣了,散分200了... 请问哪有delphi 5 开发人员指南配套程序下载? 窗口创建与关闭问题 很急!拜托!! CM_MOUSELEAVE()如何用? 菜鸟求教:放在coolbar里的toolbar的width为什么不能指定数值呢? 怎样使程序彻底隐藏(即在热启动时在任务中看不到该程序名称) 用了這么久的Delphi,現在才發現這個簡單的問題! WebBrowser显示过慢怎么办? windwos下怎么控制音量大小? 请问版主大人,如何清空专家分。
s:string;
myini :Tinifile;
myini :=TIniFile.Create('c:\system.ini');
s:=myini.ReadString('结点名','键名','键值');
如果用ADO连接SQL则构造以下字符串就可以了
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=hotel;Data Source=lw
ConnectionString:='File Name='+ExtractFilePath(Application.ExeName)+'xx.udl'
这样比较方便!
但你哪改变起来可有点烦哟,要改源码还要重新编译生成才行,且得又重新安装一篇。
有谁能把方法说明一点,如一个配置文件,改了即可生效,Delphi又如何来读取这个配置文件达到数据库的配置,哪ODBC,什么BDE呀看起我就心烦,ADO都说还可以,但我一直不喜欢ADO,你们有何建见或者更好更简单的解决办法?若为配置文件也存在一个问题就是安全性不高了,里面的数据库,用户名,密码什么的都被看见了。
DB.INI
[database]
ServerName = xxxx;
UserName = xxxx;
Password = xxxx;
InitDB = xxxx;
function GetConnectionString: string;
var
SYSINI: TINIFile;
ServerName, UserName, Password, InitDB: string;
tmpstr: string;
begin
SYSINI := TIniFile.Create('DB.INI');
try
ServerName := SYSINI.ReadString('Database', 'ServerName', '');
UserName := SYSINI.ReadString('Database', 'UserName', '');
InitDB := SYSINI.ReadString('Database', 'InitDB', '');
tmpstr := SYSINI.ReadString('Database', 'Password', '');
Password := Decrypt(tmpstr, Key);
Result := '';
Result := 'Provider=SQLOLEDB.1;Password=' + Password + ';Persist Security Info=True;User ID=' + UserName + ';Initial Catalog=' + InitDB + ';Data Source=' + ServerName;
finally
SYSINI.Free;
end;
end;procedure SetConnectionString(ServerName, UserName, Password, InitDB: string);
var
SYSINI: TINIFile;
tmpstr: string;
begin
SYSINI := TIniFile.Create('DB.INI');
try
with SYSINI do
begin
WriteString('Database', 'ServerName', ServerName);
WriteString('Database', 'UserName', UserName);
WriteString('Database', 'InitDB', InitDB);
tmpstr := Encrypt(Password, Key);
WriteString('Database', 'Password', tmpstr);
end;
finally
SYSINI.Free;
end;
end;
在ADO的连接处选择第一个选项就可以了.