delphi连接数据库浅谈

wm13898867075

wm13898867075

2016-02-19 12:37

今天给大家分享的是由图老师小编精心为您推荐的delphi连接数据库浅谈,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!
一个程序连接数据库中间就需要有一个数据库连接引擎

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  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.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  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

展开更多 50%)
分享

猜你喜欢

delphi连接数据库浅谈

编程语言 网络编程
delphi连接数据库浅谈

浅谈如何应用JDBC连接数据库MySQL

MySQL mysql数据库
浅谈如何应用JDBC连接数据库MySQL

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

plsql developer怎么连接数据库 plsql developer连接数据库教程

软件教程
plsql developer怎么连接数据库 plsql developer连接数据库教程

用JSP连接数据库

Web开发
用JSP连接数据库

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

jsp连接数据库oracle

Web开发
jsp连接数据库oracle

连接数据库查询手册

ASP
连接数据库查询手册

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何将收藏的绿钻MV秀设置到QQ空间首页播放?

如何将收藏的绿钻MV秀设置到QQ空间首页播放?

D7下的只能输入数字的控件(类似PB的MaskEdit)

D7下的只能输入数字的控件(类似PB的MaskEdit)
下拉加载更多内容 ↓