知识大全 关于Delph连接数据库原理[1]

Posted 数据库

篇首语:哪里有天才,我是把别人喝咖啡的功夫,都用在工作上的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于Delph连接数据库原理[1]相关的知识,希望对你有一定的参考价值。

关于Delph连接数据库原理[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    数据库编程是Delphi最强大的优势之一 恐怕也很少有Delphi程序员没有接触过数据库编程的 Delphi独特的Data Aware构件 让很多初识Delphi的人为之目瞪口呆 不需要写任何代码 在几分钟之内就可以做出一个相当精巧的数据库程序 而且在开发期就可以看到运行期的结果 这真是不可思议啊!但是 Delphi强大无比的数据库开发能力 决不仅仅限于用几个构件操纵一下DBF或是Access数据库而已 你所看到只是冰山一角 让我们仔细说来     数据库虽然家族庞大 但一般来说可以分为两种 文件型数据库和C/S型数据库 下面分别讨论         文件型数据库    所谓文件型数据库 顾名思义 是基于文件的(file based) 数据被按照一定格式储存在磁盘里 使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读取 也就是说 这种数据库的访问方式是被动式的 只要了解其文件格式 任何程序都可以直接读取 这样就使得它的安全性相当糟糕 同时 在蓬勃兴起的网络应用 文件型数据库更是难有用武之地 效率低下 不支持很多SQL命令 不支持视图 触发器 存储过程等高级功能 等等 这些特点决定了它不适合大型的工程     最为大家所熟悉的文件型数据库可能就是DBF(DBase/Foxbase/Foxpro)数据库 在DOS时代风靡一时 相信很多人都有过抱着一本手册苦背Foxbase命令的回忆吧!其特点是 每个Table或Index都是一个独立的文件 使用相当简单 性能还可以 安全性非常的差 但应用非常广泛(主要是DOS时代遗留下来的 哪个单位没有两个用这种东东编出来的老古董程序呢?) 它在今天还能占有一席之地 其主要原因之一是 正因为简单和使用广泛 使得对它的访问是最容易的 甚至根本无需第三方的接口 就可直接对其进行字节级的读取     除此之外 还有著名的Access数据库 这是MS Office里的构件之一 和DBF数据库不同 所有的文件都被整合在一个 mdb文件中 这样就避免了数据库变大之后管理上带来的麻烦 同时它还提供密码保护功能 安全性比DBF数据库要好很多 Access数据库除了一般的文本数据之外 还擅长于对多媒体数据的处理 在对声音 图像乃至基于OLE的对象进行处理时 令DBF数据库望尘莫及 随着微软战略的步步胜利 Access数据库也不断发展 凭借着优秀的性能和与MS Office的无缝结合 早已超越DBase系列 成为现今最强大的文件型数据库了     Delphi中附带的Paradox也是一种文件型数据库 它是Inprise公司自己的产品 因此和Inprise的系列开发工具配合得很不错 它支持密码保护 支持标准的SQL 性能也还不错 但是应用就不那么广泛了 和DBF数据库一样 它的每一个Table都是一个独立的文件 因此也有同样的管理问题     上文说到可以对文件型数据库直接读取 但实际编程中很少有人这么做 因为再简单的数据库其实也是相当复杂的 一步步分析它的格式 从底层实现所有的数据库应用 如果都要程序员去写的话 可能会把人累死 所以数据库的开发商将这些访问代码封装起来 向程序员开放 程序员只需要调用相应的接口就可以了     以DBF为例 使用DBase/Foxbase/Foxpro系列开发工具 可以用它自己的语法开发出应用程序 其中对DBF文件的具体操作被封装了 对于Access数据库 微软公布了一个DAO(Database Access Object) 由一系列的DLL文件组成 封装了对 mdb文件的访问 使用VB的读者可能对DAO比较熟悉 只要在VB中嵌入DAO对象 就可以非常方便地访问Access数据库了 ODBC(Open DataBase Connection 开放数据库互连)也是一种封装 用意在于向开发人员提供一个统一的接口 通过这个接口可以访问任何支持ODBC的数据库 只要该数据库提供了相应的ODBC驱动 从这一点上来说 ODBC是一种更加高级的封装 目前几乎所有的主流的数据库都能被ODBC所支持 打开你的Windows的控制面板 就可以看到ODBC的图标     用Delphi写数据库程序的人免不了要同BDE打交道 BDE(Borland Dasebase  Engine Borland数据库引擎)是一个和ODBC类似的东西 orland/Inprise本来企图用它来统一数据库接口 但后来Inprise在和微软的战争中败下阵来(ODBC是微软搞出来的) 它又不肯放弃BDE 而是将其捆绑在lphi/C++Builder系列开发工具中 结果好象变成这些开发工具的一种附属品了     用BDE开发数据库程序相当容易 许多Delphi教科书在写到数据库开发这一章时 总是告诉你先在BDE中为某个DBF或Paradox数据库设置一个别名 然后往窗体上放一个TTable构件 然后将其DatabaseName指向相应的别名……然后 这个数据库中某个表的内容就在相应的Data Aware构件中显示出来了 但是它们具体是怎么工作的呢?    Delphi对数据库进行访问时 事实上通过了很多层次的连接        DataAware构件 DataSource构件 DataSet构件 BDE 数据库        从上面结构可以看出 BDE负责与具体的数据库打交道 而Dataset构件与BDE相连 DataSource构件与Dataset构件相连 最后才连接到显示具体数据的Data Aware构件 在Delphi的构件面板上 Data Access页面中的构件一般属于DataSet构件 例如TTable TQuery 只要指定它们的DatabaseName属性 就可以将它们与某个数据库建立连接 在Data Control页面中的构件一般是Data Aware构件 例如TDBGrid TDBEdit TDBImage 它们的作用看上去与一般的Delphi构件相似 不同之处在于 可以通过一个DataSource构件作为中介 与DataSet构件相连 并自动显示相应的数据     用Delphi的数据库构件建立一个应用程序是如此之方便 但是如果深入下去 会发现事情并不简单 你可以尝试自己编写代码 访问数据库中字段 而不是通过Data Aware构件由用户来编辑 如何做到这一点呢?秘密在于Field构件     可以说 Field构件是Delphi数据库应用程序的基础  当打开一个DataSet构件时 相应的数据会被读取 并储存在TTable或TQuery构件的Fields属性中 这个属性被定义为Field数组 通过直接访问数组 可以使用它们 例如         Table Fields[ ] AsInteger;        这段代码访问了Table 中当前记录的第一个字段 该字段的类型为Integer     也可以通过使用FieldbyName属性来使用它们         Table FieldbyName( Last Name ) AsString; cha138/Article/program/Delphi/201311/24812

相关参考

知识大全 Oracle数据库 关于连接池一

Oracle数据库关于连接池一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  到目前为目JDBC

知识大全 Oracle数据库 关于连接池二

Oracle数据库关于连接池二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  *大连接数为止在返

知识大全 关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡

关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 连接oracle的总结(关于tnsname和监听)

该文是我连接oracle的总结特别适合于程序开发人员与oracle菜鸟  如何配置才能使客户端连到数据库要使一个客户端机器能连接oracle数据库需要在客户端机器上安装oracle

知识大全 关于oracle集群后的weblogic数据源配置

  有两个db做了RAC虚拟路径为ypdbweblogic的数据源连接URL改为下面  当其中一台db挂了保证数据源连接正常  jdbc:oracle:thin:@  (DESCRIPTION=  (

知识大全 详细介绍在tomcat中配置数据源原理

  转摘请注明出处  作者:baggio  来源:  本文地址;  关键词DataSource(数据源)Tomcat连接池  前言  本文根据实例详细介绍了如何在tomcat中配置数据源网上此类文章很

知识大全 Delphi 开发数据库控件的方法[1]

Delphi开发数据库控件的方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Delph

知识大全 tomcat连接池的配置与使用数据库mysql

    关于tomcat连接池的配置我在自己开始的时候碰到过许多的问题至少失败过六次今天终于成功了对于这个问题的产生与由来我也给大伙说说  

知识大全 关于数据库优化问题收集汇总

笔者在工作实践中发现不良的SQL往往来自于不恰当的索引设计不充份的连接条件和不可优化的where子句以下就对数据库优化问题进行了介绍需要的朋友可以参考下 在对它们进行适当的优化后其运行速度有

知识大全 数据库连接[1]

C#高级编程:数据库连接[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!