delphi与sql serverr 的连接问题!!!! 我想用delphi连接sql server数据库,但是连好之后如果路径一变程序就不能运行了,我想让他无论移到什么路径下都可以运行!请问怎样修改conntionstring!急等回复!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=DEV021DEV021 是服务器的名称 把connectionstring写进INI里,每次程序开始时读出来,实现动态连接! 以下是我写的一个读写INI文件的程序,你可以看看!unit MainForm;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IniFiles, DB, ADODB;type TINI_MainFrm = class(TForm) Label1: TLabel; edtDataSource: TEdit; Label2: TLabel; edtDataBase: TEdit; Label3: TLabel; edtUserID: TEdit; Label4: TLabel; edtPassWord: TEdit; GroupBox1: TGroupBox; btnok: TButton; btncancel: TButton; btnconn: TButton; ADOConn: TADOConnection; procedure btnokClick(Sender: TObject); procedure btncancelClick(Sender: TObject); procedure btnconnClick(Sender: TObject); procedure FormCreate(Sender: TObject); private procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT; { Private declarations } public { Public declarations } end;var INI_MainFrm: TINI_MainFrm; ini : TIniFile;implementationuses ShareU;{$R *.dfm}procedure TINI_MainFrm.WMNCPaint(var Msg : TWMNCPaint);begin inherited; draw(INI_MainFrm);end;procedure TINI_MainFrm.btnokClick(Sender: TObject);begin try //打开INI文件,如果不存在则创建与应用程序同名,后缀名为.INI的ini配置文件 //Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI')); ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'dblink.INI'); //获取应用程序路径下的ini文件 ini.WriteString('DBLink','Data Source',edtDataSource.Text); //将数据库服务器名写入配置文件 ini.WriteString('DBLink','Initial Catalog',edtDataBase.Text); //将数据库名写入配置文件 ini.WriteString('DBLink','User ID',edtUserID.Text); //将登录数据库的用户名写入配置文件 ini.WriteString('DBLink','Password',edtPassWord.Text); //将登录数据库的口令写入配置文件 MessageBox(Handle,'配置参数写入成功!','信息!',MB_OK + MB_ICONINFORMATION); //Close; 关闭数据库服务器配置窗口 finally ini.Free; end;end;procedure TINI_MainFrm.btncancelClick(Sender: TObject);begin Application.Terminate;end;procedure TINI_MainFrm.btnconnClick(Sender: TObject);var DBConn : string; //保存测试连接字符串 DataSource : string; //保存服务器名 DataBase : string; //保存数据库名 User : string; //保存用户名 PassWord : string; //保存口令begin ini := TInifile.Create(ExtractFilePath(application.ExeName)+'dblink.INI'); //获取应用程序路径下的ini文件 try DataSource := ini.ReadString('dblink','DataSource',''); //从INI文件读取服务器名 DataBase := ini.ReadString('dblink','Initial Catalog',''); //从INI文件读取数据库名 User := ini.ReadString('dblink','User ID',''); //从INI文件读取用户名 PassWord := ini.ReadString('dblink','PassWord',''); //从INI文件读取口令 finally ini.Free; end; DBConn := 'Provider=SQLOLEDB.1;Password='+PassWord+';Persist Security Info=True;User ID='+User+';Initial Catalog='+DataBase+';Data Source='+DataSource+''; ADOConn.Connected := false; ADOConn.ConnectionString := DBConn; try ADOConn.Connected := true; MessageBox(Handle,'数据库连接成功!','信息!',MB_OK + MB_ICONINFORMATION); except on E : Exception do begin MessageBox(Handle,'网络故障!请配置网络连接!','错误信息!',MB_OK + MB_ICONERROR); Exit; end; end;end;procedure TINI_MainFrm.FormCreate(Sender: TObject);begin ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'dblink.INI'); //获取应用程序路径下的ini文件 try edtDataBase.Text := ini.ReadString('dblink','Initial Catalog',''); //从INI文件读取服务器名 edtDataSource.Text := ini.ReadString('dblink','Data Source',''); //从INI文件读取数据库名 edtUserID.Text := ini.ReadString('dblink','User ID',''); //从INI文件读取用户名 edtPassWord.Text := ini.ReadString('dblink','PassWord',''); //从INI文件读取口令 finally ini.Free; end;end;end. freeandnil还是未释放掉(子窗体) 软件开发QQ群:5053624 欢迎高手们加入 delphi F1Book控件汉化 哪里有单独安装 PARADOX 的程序? 连接占线导致另一个命令 D7 ADO Acess数据库“参数 表1.h2没有默认值” 请问,如何用代码来认别 Win98 和 Win Me IntraWeb问题 请问如何在程序里发送控制台消息??如何用程序是否有人访问我的机器!! 怎么用Delphi实现一个类似于Delphi的窗口编辑器? 我的调试器为什么用不了,我不想再重装系统了啊! 请各位大大帮忙。。。是关于SQL按指定日期查询时出现的一些问题
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IniFiles, DB, ADODB;type
TINI_MainFrm = class(TForm)
Label1: TLabel;
edtDataSource: TEdit;
Label2: TLabel;
edtDataBase: TEdit;
Label3: TLabel;
edtUserID: TEdit;
Label4: TLabel;
edtPassWord: TEdit;
GroupBox1: TGroupBox;
btnok: TButton;
btncancel: TButton;
btnconn: TButton;
ADOConn: TADOConnection;
procedure btnokClick(Sender: TObject);
procedure btncancelClick(Sender: TObject);
procedure btnconnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
{ Private declarations }
public
{ Public declarations }
end;var
INI_MainFrm: TINI_MainFrm;
ini : TIniFile;
implementationuses ShareU;
{$R *.dfm}procedure TINI_MainFrm.WMNCPaint(var Msg : TWMNCPaint);
begin
inherited;
draw(INI_MainFrm);
end;procedure TINI_MainFrm.btnokClick(Sender: TObject);
begin
try
//打开INI文件,如果不存在则创建与应用程序同名,后缀名为.INI的ini配置文件
//Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI')); ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'dblink.INI'); //获取应用程序路径下的ini文件
ini.WriteString('DBLink','Data Source',edtDataSource.Text); //将数据库服务器名写入配置文件
ini.WriteString('DBLink','Initial Catalog',edtDataBase.Text); //将数据库名写入配置文件
ini.WriteString('DBLink','User ID',edtUserID.Text); //将登录数据库的用户名写入配置文件
ini.WriteString('DBLink','Password',edtPassWord.Text); //将登录数据库的口令写入配置文件 MessageBox(Handle,'配置参数写入成功!','信息!',MB_OK + MB_ICONINFORMATION);
//Close; 关闭数据库服务器配置窗口
finally
ini.Free;
end;
end;procedure TINI_MainFrm.btncancelClick(Sender: TObject);
begin
Application.Terminate;
end;procedure TINI_MainFrm.btnconnClick(Sender: TObject);
var
DBConn : string; //保存测试连接字符串
DataSource : string; //保存服务器名
DataBase : string; //保存数据库名
User : string; //保存用户名
PassWord : string; //保存口令
begin
ini := TInifile.Create(ExtractFilePath(application.ExeName)+'dblink.INI'); //获取应用程序路径下的ini文件 try
DataSource := ini.ReadString('dblink','DataSource',''); //从INI文件读取服务器名
DataBase := ini.ReadString('dblink','Initial Catalog',''); //从INI文件读取数据库名
User := ini.ReadString('dblink','User ID',''); //从INI文件读取用户名
PassWord := ini.ReadString('dblink','PassWord',''); //从INI文件读取口令
finally
ini.Free;
end; DBConn := 'Provider=SQLOLEDB.1;Password='+PassWord+';Persist Security Info=True;User ID='+User+';Initial Catalog='+DataBase+';Data Source='+DataSource+'';
ADOConn.Connected := false;
ADOConn.ConnectionString := DBConn; try
ADOConn.Connected := true;
MessageBox(Handle,'数据库连接成功!','信息!',MB_OK + MB_ICONINFORMATION);
except
on E : Exception do
begin
MessageBox(Handle,'网络故障!请配置网络连接!','错误信息!',MB_OK + MB_ICONERROR);
Exit;
end;
end;
end;procedure TINI_MainFrm.FormCreate(Sender: TObject);
begin
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'dblink.INI'); //获取应用程序路径下的ini文件
try
edtDataBase.Text := ini.ReadString('dblink','Initial Catalog',''); //从INI文件读取服务器名
edtDataSource.Text := ini.ReadString('dblink','Data Source',''); //从INI文件读取数据库名
edtUserID.Text := ini.ReadString('dblink','User ID',''); //从INI文件读取用户名
edtPassWord.Text := ini.ReadString('dblink','PassWord',''); //从INI文件读取口令
finally
ini.Free;
end;
end;end.