http://bbs.csdn.net/topics/10347240
请问:如何在程序动行时如果按程序设计时的ConnectionString进行联接时,如果不能联接上数据库,则由程序弹出定义ADOConnection1.ConnectionString的对话框由操作者进行选择服务器、数据库用户名、口令等信息再进行联接?
方法一:
const
dbconnstr1='Provider=Microsoft.Jet.OLEDB.4.0;Data Source="';
dbconnstr2='";Persist Security Info=False';
apppath:=extractfilepath(application.exename);
ADOConnection1.ConnectionString:=
dbconnstr1+apppath+'db\a.mdb'+dbconnstr2;
这是ACCESS的,SQLSERVER同理
方法二:
建议你使用数据连接文件 .udl
使用方法:ADOConnection1.ConnectionString:='File Name=path\xx.udl';
你可以在程序外设置xx.udl,无需改变源程序.
方法三:
Provider=[驱动程序];Password=[密码];Persist Security Info=True;User ID=[用户名];Data Source=[数据源别名]
将用户选择的结果拼凑成如上的一个字符串,然后
ADOConnection1.connected:=false;
ADOConnection1.ConnectionString:=[拼凑的字符串];
ADOConnection1.LoginPrompt:=false;
ADOConnection1.connected:=true;
http://blog.csdn.net/lailai186/article/details/38843071
Delphi 通过ADOConnection链接远程Mysql数据库,要在安装软件的电脑上安装Mysql 驱动,没有的在百度下载,搜索mysql ODBC驱动就出来了
主要的链接代码如下
var srstring:string;
srstring:='DRIVER={MySQL ODBC 3.51 Driver};SERVER='+Trim(SERVER.Text)+';DATABASE='+Trim(DATABASE.Text)+';USER='+Trim(USER.Text)+';PASSWORD='+Trim(PASSWORD.Text)+';OPTION='+Trim(OPTION.Text)+';charset=gb2312;';
说明一下上面的变量意思
DRIVER=表示所用的驱动名称,
SERVER=表示mysql数据库地址,远程就直接写远程IP
DATABASE=表示所要链接的数据库名称
USER=数据库用户名
PASSWORD=数据库密码
OPTION=表示端口
charset=表示使用的字符编码
链接数据开始
ADOConnection1.ConnectionString:=srstring;
ADOConnection1.Close;
ADOConnection1.Open;
showmessage('save and login database success!');
最后,记录在窗体上加上ADOConnection控件