我们在使用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;