我們在使用Delphi編寫以Micorsoft SQL Server為後台數據庫的時候,經常為程序的發布擔憂: 我們怎樣才能讓用戶自由設置數據庫參數,程序自動連接? 經過多次試驗,使用Delphi自帶的 DataBase數據庫連接控件可以很好的實現SQL數據庫的自動連接。實現方法如下:
procedure ConnectDatabase(ServerName,DatabaseName,UserName,PassWord:String);
var
Database1:TDataBase;
begin
Database1.DatabaseName := ’Test’;
Database1.DriverName := ’MSSQL’;
LoginPrompt := False;
with Database1.Params do
begin
Add(’DATABASE NAME=’ + DatabaseName);
Add(’SERVER NAME=’ + ServerName); //ServerName也可以是SQL服務器的IP地址
Add(’USER NAME=’ + UserName); //設置MSSQL數據的用戶名稱 如:sa
Add(’OPEN MODE=READ/WRITE’);
ADd(’SCHEMA CACHE SIZE=8’);
Add(’BLOB EDIT LOGGING=’);
Add(’LANGDRIVER=’);
Add(’SQLQRYMODE=’);
Add(’SQLPASSTHRU MODE=SHARED AUTOCOMMIT’);
Add(’DATE MODE=0’);
Add(’SCHEMA CACHE TIME=-1’);
Add(’MAX QUERY TIME=300’);
Add(’MAX ROWS=-1’);
Add(’BATCH COUNT=200’);
Add(’ENABLE SCHEMA CACHE=FALSE’);
Add(’SCHEMA CACHE DIR=’);
Add(’HOST NAME=’);
Add(’APPLICATION NAME=’);
Add(’NATIONAL LANG NAME=’);
Add(’ENABLE BCD=FALSE’);
Add(’TDS PACKET SIZE=4096’);
Add(’BLOBS TO CACHE=64’);
Add(’BLOB SIZE=32’);
Add(’PASSWORD=’ + PassWord); //設置MSSQL用戶口令;
end;
try
Database1.Connected := true;
Query1.DatabaseName := ’Test’;
... //數據庫查詢
Except
Application.MessageBox(’數據庫連接錯誤!’,’錯誤’,MB_OK+MB_ICONERROR);
end;
end;