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=用户数据库名

Delphi ADOConnection连接的更多相关文章

  1. Delphi XE3通过ADOConnection 连接 MySQL 5.5.27 数据库

    Delphi XE3通过ADOConnection 连接 MySQL 5.5.27 数据库 unit Unit1; interface uses Winapi.Windows, Winapi.Mess ...

  2. Delphi:ADOConnection连接SQLServer自动断网问题解决

    =============================== 解决方法一:异常时关闭连接,WinXP,win7 32位大部分情况都是起作用的,不过在有些windows操作系统下(如家庭版)不起作用, ...

  3. Delphi 7连接MySql 5.5.15

    原文:http://blog.csdn.net/akof1314/article/details/6822902/ 网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的 ...

  4. Delphi 7连接MySql 5.5.15(转)

    网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的方法,以备所需.系统环境:Windows XP SP3软件环境:Delphi 7 .mysql-installer- ...

  5. Delphi 调试连接 任意Android手机/平板/盒子

    Delphi有时候无法连接调试一些手机,解决方案: 1.安装Google USB Driver 2.通过设备管理器查看手机或平板USB的VID,PID 3.修改你的电脑上的android_winusb ...

  6. delphi 7 连接 MySql

    网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的方法,以备所需.系统环境:Windows XP SP3软件环境:Delphi 7 .mysql-installer- ...

  7. Delphi 调试连接 任意Android手机/平板/盒子(要安装Google USB Driver,并且还有USB的相关许多文章)

    Delphi有时候无法连接调试一些手机,解决方案: 1.安装Google USB Driver 2.通过设备管理器查看手机或平板USB的VID,PID 3.修改你的电脑上的android_winusb ...

  8. Delphi - cxGrid连接Access数据库

    一.添加控件: ADOConnection.ADOQuery和DataSource: 二.连接Access数据库: 这里一般采用动态方式进行连接,工程文件放在了CodeDemo文件夹中,Access数 ...

  9. delphi ADOCONNECTION异常拦截

    elphi ADOCONNECTION错误拦截错误框标题:   Debugger Exception Notification内容:   Project KJXX.exe raised excepti ...

随机推荐

  1. Linux之RHEL7root密码破解(一)

    很多时候我们都会有这样的经历,各种密码,各种复杂,忘记了怎么办???Windows的有关密码忘记了是可以通过相关的邮箱啊手机号等等是可以 找回的,那么Linux的root密码忘记了,该怎么办呢?那么接 ...

  2. HDU4814——数学,模拟进制转换

    本题围绕:数学公式模拟进制转换 HDU4814 Golden Radio Base 题目描述 将一个十进制的非负整数转换成E(黄金分割数)进制的数 输入 不大于10^9的非负整数,处理到文件尾 输出 ...

  3. 弹性盒模型:flex多行多列两端对齐,列不满左对齐

    [1]需求: [2]解决方案: 最近遇到布局上要求item两端对齐,且最后一行在列不满的情况下要求左对齐,使用flex的justify-content: space-between;实现时发现最后一行 ...

  4. python 中的tile函数,shape函数,sum函数

    1.tile函数: tile函数是模板numpy.lib.shape_base中的函数.函数的形式是tile(A,reps) A的类型几乎所有类型都可以:array, list, tuple, dic ...

  5. Laravel —— 路由问题

    在 Laravel 中,路由是项目的起点. 下面总结一些路由中常见的问题. 一.路由 404 是因为配置文件没有开启重定向模块,可以通过下面的操作解决. 1.php.ini 开启 openssl 模块 ...

  6. Dubbo源码分析:Serialization

    背景 顺序化逻缉处理! 类图 获取Serialization对象时序图 序列化

  7. 使用go初步调用etcd

    使用go初步調用etcd package main import ( "context" "go.etcd.io/etcd/clientv3" "ti ...

  8. SPI总线协议理解

    1.什么是SPI: 是摩托罗拉公司设计的一种全双工通信.高速的.同步的串行外部设备通信协议. 2.SPI作用: 用于设备之间的数据交互. 3.SPI由什么构成: 1)MOSI:主设备输出从设备输入线, ...

  9. 开源项目 12 ServiceStack.OrmLite

    using ServiceStack; using ServiceStack.DataAnnotations; using ServiceStack.OrmLite; using ServiceSta ...

  10. Educational Codeforces Round 67

    Educational Codeforces Round 67 CF1187B Letters Shop 二分 https://codeforces.com/contest/1187/submissi ...