| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 4660 人关注过本帖
标题:动态连接SQL数据库
取消只看楼主 加入收藏
yangguofa
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2004-5-5
收藏
 问题点数:0 回复次数:0 
动态连接SQL数据库
我们在使用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;

/bbs/UploadFile/2005-3/2005320191459674.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://www./bbs/UploadFile/2005-3/2005320191459674.gif');}" onmousewheel="return imgzoom(this);" alt="" />
2004-06-01 09:45
快速回复:动态连接SQL数据库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014615 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved