delphi连接数据库dbexpress组件

Delphi DBExpress 数据库教程自学


一、dbexpress组件
     其组件下含以下控件,用于进行数据库操作

     1.SQLconnection:故名思义,用于建立数据库连接(相当于ASP中的conn)。相关参数以对话框方式输入,也可通过object inspector进行修改。D7功能强大,可以连接包括MSSQL在内的6种流行数据库:DB2,informix,interbase,MSsql,Mysql,Oracle。以SQL为例,以下参数应注意:
          (1) LoginPrompt:false/true,是否显示登录对话框,默认为false,程序调试时,建议设为true.
          (2) connected,是否建立连接,默认为false,调试时建议改为true.

     2.SQLdataset,通过此组件,可以建立数据集(相当于ASP中的recordset)。一般情况下,通过select语句生成一数据集,以供客户端使用,重要参数设置次序和说明如下:
          (1)第一步:SQLConnection:设定数据库连接
          (2)第二步:commandtype:可选参数有三种ctquery(默认,生成SQL查询:select,update,delete),ctstoreproc(执行存储过程),cttable(生成数据表),一般情况下,建议用ctquery.
          (3)commandtext:执行的SQL命令,须手工输入:如select * from bmxx
          (4)Params:SQL动态参数列表,如果commandtext的命令中用到了动态参数:select * from bmxx where id=:bmid,则在Params中自动出现bmid参数,系统要求对bmid的参数进一步设置,如数据类型等
          (5)Active:仅有两个参数
                  flase:相当于ASP中的RS.close()
                  true:相当于ASP中的RS.open()

     3.SQLQuery:可以看成是强化版的SQLdataset(commandtext=Ctquery),在程序设计中,多用于对数据表的增删更新操作(Add Delete Update),重要参数说明如下:
          (1)第一步:SQLConnection:设定数据库连接
          (2)第二步:SQL:执行的SQL命令,须手工输入:如delete from bmxx1 where bmid=10 等,
          (3)第三步:Params:SQL动态参数列表,如果SQL命令中用到了动态参数:select * from bmxx where id=:bmid,则在Params中自动出现bmid参数,系统要求对bmid的参数进一步设置,如数据类型等
          (4)第四步:Active:仅有两个参数
                  flase:相当于ASP中的RS.close()
                  true:相当于ASP中的RS.open()

    4.SQLStoreProc可以看成是强化版的SQLdataset(commandtext=Ctstoreproc),用于调用数据库里的存储过程,重要参数说明如下:
          (1)第一步:SQLConnection:设定数据库连接
          (2)第二步:StoreProcNmae:调用的存储过程名称,系统自动从数据库中取得存储过程名列表
          (3)第三步:Params:SQL动态参数列表,如果存储过程中用到了动态参数:那么Params中会自动出现相关参数。
          (4)第四步:Active:仅有两个参数
                  flase:相当于ASP中的RS.close()
                  true:相当于ASP中的RS.open()

    5.SQLtable可以看成是强化版的SQLdataset(commandtext=Cttable),用于数据库里的数据表的操作,相关参数如:indexFieldNmae,IndexNmae,MasterFields,MasterSource

    6.SQLMonitor:方便程序员观察SQL命令执行情况的调试工具

    7.SimpleDataSet,允许dbExpress修改数据的组件,可以结合Delphi的数据感知组件以访问数据

delphi数据库教程自学(2) By 风轻扬兮 发表于 2007-4-4 23:12:00

    利用SQLconnection/SQLdataset/clientdataset/datasetprovider/datasource/dbnavigator建立可更新的数据集

1)建立SQLconnection(设置loginprompt:false,connected:true)===>SQLconnection1
      说明:建立远程数据库的连接
2)建立SQLdataset(设置SQLconnection:SQLconnection1,commandtext:select * from bmxx)==>SQLdataset1
      说明:建立远程数据库的远程记录集
3)建立Datasetprovider(设置其dataset:SQLdataset1)===>datasetprovider1
      说明:将此记录集通过datasetprovider保存到本地缓存中
4)建立Clientdataset(设置其ProviderName:datasetprovider1,active:true)
      说明:从本地缓存中建立本地记录集
5)建立datasource(在Clientdataset1上右击,选择Add fields,拖至表单上)==>datasource1
      说明:显示本地记录集的记录对象
6)设置dbnavigator(设置datasource:dataspurce1)
      说明:对本地记录集记录进行操作控制
-----------------------------------------------------------------------------------------------------------------------
经过上述操作,由于操作对象是本地缓存中的记录集,故dbEXpress单向游标的限制已经解决,通过dbnavigator组件,可以新增、修改、删除相关记录数据,但此时的操作仅对于本地缓存的记录集有效新增、修改、删除等操作的结果实际上并未更新于后台
-----------------------------------------------------------------------------------------------------------------------
如果需要更新后台数据,还必须调用Clientdataset1.Applyupdate(0)方法来进行


其过程比较复杂,但是建议在考虑性能时,最好采用此种方法

Delphi数据库教程自学(3) By 风轻扬兮 发表于 2007-4-5 8:11:00

SimpleDataSet的用法

第二讲曾经学习过,在建立可更新的数据集方面,我们通过四步来实现的
1)建立远程数据库连接sqlconnction1
2)建立远程记录集sqldataset1
3)将远程记录集导入至本地datasetprovider1
4)在本地缓存中寻对应记录集对象clientdataset1

对于一般的应用而言,这个过程比较繁琐,Delphi提供了一种简易建立本地可更新记录集的方法,即simpledataset,此方法简化了建立本地可更新数据集的过程,在对于小的应用时,如在不过分考虑性能的前提下,可通过此方法,快速建立可更新本地记录集。其过程和设置如下:
1)建立远程数据库连接sqlconnction1
2)建立simpledataset1,其重要参数如下:
     (1)Connection:其设置同sqlconnction.(上述第一步)
     (2)Dataset:其设置同sqldataset1.(上述第二步,注意,Active设为true)

回顾一下快速建立datasource1和DBNavigator的过程
1)双击simpledataset1,点右键,选择filed editor,在field editor中点右键,选择add all fields(CTRL+F)
2)选中所有字段(CTRL+L),拖至表单上,然后调整一次相关位置即可(可用CTRL+A全选,Shift+点击选择)
到此datasource及其字段的输入输出设置完成
3)建立DBNavigator,直接拖至表单上即可,设置一下其datasource为datasource1

利用simpledataset建立本地可更新数据源到此完成。
同样如果要更新远程数据表记录,必须调用simpledataset1.applyupdate(0)方法。

小结
simpledataset是一种经过简化后的建立本地可更新数据集的方法,相较dataset+datasetprovider+clientdataset方法而言,它较为便捷,但这是以牺牲数据库性能为代价的。
故在有一定性能要求的数据库设计中,不推荐使用,在日常学习中,可以经常使用simpledataset

delphi数据库自学教程(4) By 风轻扬兮 发表于 2007-4-5 8:50:00

TSimpledataset中的重要参数
1)dataset--------commandtype
     有三个参数:(1)ctquery-----------执行SQL语句
                             (2)ctstoreproc------调用远程数据库中的存储过程
                             (3)cttable------------访问指定数据表中的所有数据
2)Active特性/Execute方法
      (1)仅用于执行返回结果数据集的SQL语句,如select .....的SQL语句,设置Active属性为true=调用了

Tsimpledataset的open方法,设为false=调用了Tsimpledataset的close方法
      (2)执行不返回结时数据集的SQL语句,例如Delete,Update,Insert或是DDL语句
3)PacketRecords,
      一次从远程数据源中取得的记录数,说明如下:
        -1 默认值,即一次性取出全部远程数据,建议10-100,应尽量避免造成网络拥挤。
        0 取出远程数据表的元数据(描述数据的信息)
       正数:指定数量
4)Data特性
     用于暂时存储远程取得的数据集
5)Delta特性
    用于暂时存储已经修改的数据

考虑到更大的控制能力和性能因素,建议在应用系统开发时,应尽可能避免用simpledataset,而采用
sqlconnetion+sqldataset+datasetprovider+clientdataset的方法来控制和访问相关数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一套Developer Express控件包 For Delphi7Developer Express控件简介Express Scheduler Suite可以建立类似于Outlook中日历那样的空间,计划任务。ExpressQuantumGrid Suite一个超级牛的Grid控件,不要告诉我不知道什么是Grid,其中Filter功能也是非常厉害的。ExpressBars Suite非常厉害非常厉害的工具条菜单控件。ExpressPrinting System 打印控件,可以和ExpressQuantumGrid 完美连接,还没发现有没有报表功能,要不就是没有报表功能,完美的ExpressQuantumGrid控件就可以代替了。ExpressQuantumTreeList Suite 非常牛的树状控件,跟ExpressQuantumGrid 结合起来很厉害的。ExpressNavBar 是用来做类似于XP下的浏览器左边的导航条的,非常地帅。ExpressLayout Control 好像是界面布局的控件。ExpressDBTree Suite非常好用的数据库树形列表控件。ExpressMasterView专门用作总单细单甚至多层的关系的GRID显示,它的效率比ExpressQuantumGrid Suite还要高,不过功能不是很强。ExpressDBTree Suite 结合数据库表进行像WINDOWS中浏览器中树结构显示的控件。ExpressOrgChart 结合数据库表进行组织结构显示的控件。ExpressVerticalGrid Suite 表结构以垂直方式(卡片样式)的GRID显示,一般来说,GRID适合用来显示,而VerticalGrid适合用来编辑数据。下面的控件还不知道有什么用,请有知道的介绍一下。ExpressFlowChartExpressSpreadSheet (includes Kylix support) 下面我们开始安装1、 首先关闭delphi7,如果您正在运行着它的话。 2、 安装ExpressLayout Control 1.1.11 for d7 ok3、 安装ExpressBars Suite 5.1.3 ok4、 安装ExpressDBTree Suite Version 1.3.1 ok5、 安装ExpressOrgChart 1.3.2 ok6、 安装ExpressFlowChart.v1.3.2 ok7、 安装DevExpress ExpressMasterView 1.2.1 ok8、 安装ExpressSpreadSheet (includes Kylix support) 1.1.12 ok9、 安装ExpressNavBar v1.3.1 ok10、安装ExpressPrinting System 3.1 ok11、安装ExpressQuantumGrid Suite 5.0 ok12、安装Express Scheduler Suite 1.0 13、安装ExpressQuantumTreeList Suite v4.0.2 14、安装ExpressVerticalGrid Suite 3.0.2 注:经过我反复试验发现Express Scheduler Suite 1.0 ExpressQuantumTreeList Suite v4.0.2 ExpressVerticalGrid Suite 3.0.2 与ExpressQuantumGrid Suite 5.0有冲突只要其中有任何两种控件安装,就不能装入扩展控件包ExpressExtendedEditors Library 5,Grid会少很多控件。15、运行Delphi_7,出现第一个提示框后, 按否在Delphi 7中通过Tools->Environment Options->Library->Library path菜单路径打开Diredtories窗口。 将含有以下路径: ......Developer Express IncExpressDataControllerDelphi 7Lib ......Developer Express IncXP Theme ManagerDelphi 7Lib ......Developer Express IncCX LibraryDelphi 7Lib ......Developer Express IncExpressEditors Library 5Delphi 7Lib ......Developer Express IncExpressPageControl 2Delphi 7Lib ......Developer Express IncExpressQuantumGrid 5Delphi 7Lib 删除,重新添加为,或保留一份修改为: ......Developer Express IncExpressDataControllerDelphi 7Sources ......Developer Express IncXP Theme ManagerDelphi 7Sources ......Developer Express IncCX LibraryDelphi 7Sources ......Developer Express IncExpressEditors Library 5Delphi 7Sources ......Developer Express IncExpressPageControl 2Delphi 7Sources ......Developer Express IncExpressQuantumGrid 5Delphi 7Sources 18、到Grid 5.0目录下的完美补丁目录19、将以下2个文件:cxExtEditorsVCLD7.bpl dclcxExtEditorsVCLD7.bpl 解压到操作系统的System目录(注:W2K/WinXP中应为system32目录)中覆盖原文件。 20、将压缩包中ExpressEditors Library 5目录解压到Program FilesDeveloper Express Inc下覆盖原安装目录; 21、将压缩包中ExpressPageControl 2目录解压到Program FilesDeveloper Express Inc下覆盖原安装目录; 22、将压缩包中ExpressQuantumGrid 5目录解压到Program FilesDeveloper Express Inc下覆盖原安装目录; 23、将压缩包中Bpl目录解压到BorlandDELPHI7Projects下覆盖原目录。 24、到此全部安装完毕,对于ConvertGrid3Demo和ConvertGrid3MasterDetailDemo还必须同时安装“DevExpress ExpressQuantumGrid Suite v3.22 for Delphi7”,才行!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值