?

免費教程_免費網賺教程_破解版軟件-寂涯網絡學習基地

當前位置: 主頁 > 系統綜合 > 各類編程 > 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.ionrce.tw/biancheng/20120628962.html

百度搜索更多

谷歌搜索更多

頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
?
評價:
昵稱: 驗證碼:點擊我更換圖片
推薦內容
贊助商
贊助商
?

關于本站免責聲明視頻更新google百度地圖視頻地圖RRS訂閱

如有什么問題請在本站留言,或發郵件到 hxt167#foxmail.com

内蒙古十一选五基本走势图手机版