Delphi ADOConnection连接

unit Unit_DM;

interface

uses
SysUtils, Classes, DB, ADODB,inifiles,windows,forms,controls;

 

type
TDM = class(TDataModule)
ADOConn: TADOConnection;
DS_BomFind: TDataSource;
Qry_BomFind: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
userIdStr,passwordStr,ServerNameStr,dataBaseNameStr,inifilePath:string;
end;

var
DM: TDM;

implementation

{$R *.dfm}


procedure TDM.DataModuleCreate(Sender: TObject);
var
conn:tinifile;

begin
//数据库连接设置。 conn.ini
iniFilePath:=ExtractFilePath(application.ExeName); //获取INI文件路径。
if inifilePath[length(inifilePath)]='' then
begin
iniFilePath:=iniFilePath+'conn.ini';
conn:=tinifile.Create(iniFilePath);
end
else
begin
iniFilePath:=iniFilePath+'conn.ini';
conn:=tiniFile.Create(inifilePath);
end;
if not FileExists(iniFilePath) then
begin
application.MessageBox('配置文件不存在!','提示',mb_OK) ;
APplication.Terminate;
end;
// providerStr:=conn.ReadString('config','provider','');
UserIDStr:=conn.ReadString('config','userID','');
passwordStr:=conn.ReadString('config','password','');
ServerNameStr:=conn.ReadString('config','ServerName','');
dataBaseNameStr:=conn.ReadString('config','DataBaseName','');
if (ServerNameStr='') or (DatabaseNameStr='') then
begin
application.MessageBox('数据库配置不正确,请重新配置!','提示',mb_ok);
Application.Terminate;
end;
ADOconn.Close;
ADOconn.ConnectionString:='';
ADOconn.ConnectionString:='Provider=SQLOLEDB.1;User ID='+UserIDstr+';Password='+Passwordstr+ ';Data Source='+ServerNameStr+ ';Initial Catalog='+DatabaseNamestr;
// adoconn.ConnectionString:='Provider='+Providerstr+';User ID='+UserIDstr+';Password='+Passwordstr+ ';Data Source='+DataSourceStr+ ';Initial Catalog='+DatabaseNamestr;

try
adoconn.Connected:=true;
except
application.MessageBox('数据库配置不正确,请重新配置!','提示',mb_ok);
adoconn.Connected:=false;
application.Terminate;
end;
end;

end.

 

下面是conn.INI文件内容:

[config]
UserID=sa
Password=密码
DataSource=服务器名或IP地址
DatabaseName=用户数据库名

posted on   癫狂编程  阅读(1749)  评论(0编辑  收藏  举报

编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2018-12-07 Delphi中动态创建窗体有四种方式

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
好的代码像粥一样,都是用时间熬出来的
点击右上角即可分享
微信分享提示