delphi7存取配置文件与sqlserver数据库连接_Delphi7存取配置文件与SQLServer数据库连接...

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

引言

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;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值