delphi连接数据库浅谈

原创 2004年05月19日 22:29:00
一个程序连接数据库中间就需要有一个数据库连接引擎

笔者在使用Delphi的过程中,共使用过几种连接方式连接Access,SqlServer,Oracle,IBM UDB,IBM AS/400...

1.BDE
    这是使用Delphi最多的一种方式,建立一个BDE别名可以在控制面板中的BDE Administration中添加,不过我习惯在SQL Explorer中建立,因为建立之后直接可以执行建表的脚本了。
    你可以在SQL Explorer中左边的别名列表中点击右键,并选择要连接的数据库种类,并在之后BDE建立的连接参数中填入必要的信息,注意,当你选择不同的数据库时,右边的参数有少许的不同,这些参数的不同是由于不同数据库所要求的参数不同造成的,例如SqlServer需要输入服务器的名称,数据库的名称。
    BDE能够连接我所使用过的所有的数据库,当然有些是通过ODBC来连接的。
    在发布程序时,必须发布BDE引擎。用InstallShield Express可以很方便的做这件事情
    BDE的别名也可以在Delphi程序中动态的检查有无并建立之。我通常用TSession组件来Do It。
 
2.ODBC
    这是Ms的产品。
    如果你在ODBC中建立了一个DSN连接,那么你的Delphi程序还是需要使用BDE来连接它,但是此时不需要用上一步中的手动建立别名,BDE会将ODBC中的所有别名自动在BDE中建立相同名称的别名,并且它是删不掉的,除非你删掉ODBC的DSN。
    这种方式的实际是程序通过BDE,再通过ODBC,才连接到数据库。
    在早期使用Aceess时,我通常使用这种方式。因为那时候还没有ADO。
    同样在使用IBM UDB时,我也用这种方式,因为在使用BDE直接连接时,在SQL Explorer中将不能枚举数据库中的表,而ODBC可以。
    AS/400也可以使用这种方式来连接...
    大型关系型数据库都提供ODBC驱动。在建立ODBC源时,都会调用其本身的配置,不同的数据库也是不同的。
    ODBC源也可以在程序用代码写入注册表中,来生成一个DSN.

3.ADO
    这是ODBC的升级版本,通常也叫做mdac ,我用过的最新版本是2.7,现在应该更高。在使用ms的数据库SqlServer,Access时,推荐使用这个东西,因为他从win98开始就集成在操作系统中,并且以连接字符串的形式提供所有参数,发布系统时不需要在程序之外做其他的工作。
    它也提供包括一些类数据库的连接,例如Excel。
    值得一提的是在连接有密码的Access时,Delphi的Ado向导生成的连接字符传是有Bug的,其生成的password子项是password='xxx';这个样子,但是这将不能连接,手动将其改成Jet Oledb password='xxx';(好像是这样,记不清了).
 
4.DbExpress
    这是Borland提供的最新的数据库引擎,目前提供的驱动有限,我只用它成功测试过IBM UDB,在网上可以找到第3方的连接AS/400的驱动。
    它是一个提供单向游标的引擎,Borland称相对于BDE,具有更高的效率。并且在以后将发展它,而停止BDE的更新。
    通常在使用这种方式时,应该用DataSnap(以前叫Midas)技术来提供双向游标的应用,并且用TClientDataset的Data,Delta属性来灵活的序列化Dataset,而实现多层松耦合系统。
 
5.第3方的驱动
    这些我一个都没在实际 中使用过,通常以组件的形式提供,我所知的如连接Oracle的Odac,连接As/400的Delphi400。。。
 
    最后现在如果可能,应尽量使用ADO来连接系统,并且用DataSnap来操作本地数据集来实现多层系统。

一竿残照@金棣.net

Delphi7中连接数据库

DBE1.打开控制面板->数据源(ODBC)->添加->选择Microsoft   Access   Driver(*.mdb)->完成->数据源名(任意)->选择数据库文件名->确定;     2....
  • holetboy
  • holetboy
  • 2007年12月24日 18:11
  • 3483

delphi 数据库连接方式

1.SQL数据库的联接方式: 条件:控件名:AdoConnecion1,数据库名:Sample,用户名:sa 密码:123,数据库地址:本机 AdoConnection1.Connection...
  • qq173684423
  • qq173684423
  • 2015年04月09日 17:11
  • 1372

Delphi中用ADO控件连接数据库例子

概述: 一、说明 最近在写个“数据库管理系统框架程序”,其中封装了几个连接数据库的函数,觉得挺好用,拿出来与大家分享下,希望能对大家有点用处。 我以连接oracle和access为例,其余数据...
  • wozengcong
  • wozengcong
  • 2013年09月11日 16:55
  • 1992

Delphi开发学习二:使用ADOQuery控件对SQL数据库表进行操作

在delphi学习一中,已经使用ADOConnection控件设置属性连接数据库SQL了。 在这里开始使用ADOQuery控件对SQL数据库表进行操作。 首先我们在SQL中创建数据库名为PERSONN...
  • u011846249
  • u011846249
  • 2015年08月17日 20:28
  • 2864

Delphi连接mysql数据库的三种方式

(1)通过ODBC+ADO的方式连:    with ADOCon1 do    begin       Close;      ConnectionString:=( DRIVER={MySQL O...
  • zwk_9
  • zwk_9
  • 2009年08月10日 16:45
  • 5969

在Delphi中利用MSDASC来配置数据库链接

转载自: http://www.cnblogs.com/angelbd/p/3373065.html 在学习vc的时候,看到Ado连接数据库的例子,在程序运行时可以调出一个配置数据库连接的...
  • tgcwc
  • tgcwc
  • 2016年04月26日 13:34
  • 254

delphi中cxgrid和数据库搭配的基本应用

在delphi中我用的数据库控件是unidac,数据库是采用sqlite数据库,让delphi开发的软件和数据库连接上,并且对数据库的表可以操作有已下控件基本够用了。 uniconnection1是...
  • singular2611
  • singular2611
  • 2015年03月18日 20:54
  • 1054

delphi连接数据库

ADO中的控件介绍和使用方法: ADOConnection1:ConnectionString属性是连接SQLSERVER数据库的,点击后出现一个对话框,选择build,出现对话框,选择sqlserv...
  • saindy5828
  • saindy5828
  • 2009年06月29日 15:52
  • 746

Delphi连接数据库

====================================================== 注:本文源代码点此下载 =============================...
  • javazhuanzai
  • javazhuanzai
  • 2012年02月01日 01:06
  • 279

Delphi如何用ADOconnection+Ini动态连接SQL Server2000数据库

现有app.ini文件如下:[database]dbname=testserverip=.user=sapassword=问题1:serverip=.  .代表默认的SQL Server2000?目标...
  • wolf_tanks
  • wolf_tanks
  • 2011年01月31日 20:46
  • 870
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi连接数据库浅谈
举报原因:
原因补充:

(最多只允许输入30个字)