免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 各类编程 > Delphi7存取配置文件与SQLServer数据库连接

Delphi7存取配置文件与SQLServer数据库连接

时间:2012-06-28 18:57来源:未知 整理:寂涯网络 点击:

引言
Delphi7 具有强大的数据库应用程序开发功能 在使用
Delphi7 开发 房产管理系统 时,后台数据库采用 SQL
Server 数据库管理系统 使用 TADOConnection 组件与数据库
建立连接,需要指定 TADOConnection 组件的 connectstring 属
性,在属性设置时需要用到数据库服务器的名称 因为 SQL
Server 数据库不是一个独立的磁盘文件,它是通过数据库服务
器的名称来访问数据库中的数据的 而在不同的计算机上安
装 SQLServer 数据库管理系统时,都为数据库服务器指定了
不同的实例名称,所以在 connectstring 属性中必须指定正确的
服务器名字才可以实现正确的连接
2 实现思路
正是利用 Delphi 可以很方便地读取 INI 配置文件的内在
优点,在 房产管理系统 中将需要连接的 SQLServer 数据
库服务器的名称事先写入到一个INI 配置文件中,连接时再从
INI 配置文件中读出相关的数据构成连接字符串信息 应用程
序运行前先进行数据库连接测试,如果连接成功,则直接运
行下一步,如果连接失败,则自动弹出提示窗口,提示用户
录入数据库连接配置的正确信息,保存后再进行连接测试,
直至成功直接进入系统
3 关键技术
3.1 将数据库连接参数写入配置文件
首先建立一个用于输入数据的窗体,如图1所示
在其单元文件中,定义常量 strINIname 来存放配置文件
名,定义 TINIFile 类型的文件变量iniParam;
const
strINIname='db.ini';
var
iniParam:TINIFile;
接着定义将数据库连接参数写入配置文件的过程writeParam:
procedurewriteParam(server:string;workstation:string);
begin
iniParam.WriteString('dbParam','DataSource',server);
iniParam.WriteString('dbParam','WorkstationID',
workstation);
end;
然后编写窗体 保存 按钮的事件过程程序
procedureTform1.Button1Click(Sender:TObject);
var
server,workstation:string;
begin
server:=trim(Edit1.Text);
workstation:=trim(Edit2.Text);
writeParam(server,workstation);
MessageDlg(' 保存成功',mtinformation,[mbok],0);
Button2.SetFocus;
end;
配置文件参数输入窗口
3.2 登录时读取配置文件内容连接数据库
主程序运行时,在登录窗口中先进行用户的合法性验证
再进行数据库连接测试,登录窗体的单元文件 Login.pas 部分
代码如下:
unitLogin;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,
Forms,Dialogs,ExtCtrls,StdCtrls,Buttons,DB,DBTables,
AdoDB,inifiles;
type
TLoginform=class(TForm)
Panel1:TPanel;
edtPassword:TEdit;
StaticText1:TStaticText;
StaticText2:TStaticText;
cmbUserName:TComboBox;
btnOK:TSpeedButton;
btnCancel:TSpeedButton;
BitBtn1:TBitBtn;
ADOQuery1:TADOQuery;
procedurebtnCancelClick(Sender:TObject);
procedureFormShow(Sender:TObject);
procedureFormCreate(Sender:TObject);
procedurebtnOKClick(Sender:TObject);
procedureedtPasswordKeyDown(Sender:TObject;var
Key:Word;Shift:TShiftState);
procedureBitBtn1Click(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
const
strINIname='db.ini';
var
Loginform:TLoginform;
iniParam:TINIFile;
procedurereadParam(outserver:String;outworkstation:
string);
implementation
usesMain,datamodule;
{$R*.DFM}
//定义一个读取参数的过程readParam
procedurereadParam(outserver:String;outworkstation:
string);
begin
server:=iniparam.ReadString('dbParam','DataSource',
'');
workstation:=iniParam.ReadString('dbParam',
'WorkstationID','');
end;
//在登录窗体的 oncreate 事件中连接数据库
procedureTLoginform.FormCreate(Sender:TObject);
var
Query:TADOQuery;
a,b,c,d,e:string;
begin
//获取配置文件
getdir(0,d);
iniparam:=tinifile.Create(d+'\'+strininame);
//从配置文件中读取参数值
readparam(a,b);
datamodule2.adoconnection1.Connected:=false;
//根据读出的参数构造连接字符串的值,并连接数据库
c:='Provider=SQLOLEDB.1;Password='+''''';PersistSecu
rityInfo=True;UserID=sa;InitialCatalog=FangChan;Data
Source=';
d:=';UseProcedureforPrepare=1;AutoTranslate=True;

本页地址 http://www.jybase.net/biancheng/20120628962.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com