用Delphi 开发数据库程序经验三则

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
1.建立临时表
  数据输入是开发数据库程序的必然环节。在Client/Server结构中,客户端可能要输入一批数据后,再向服务器的后台数据库提交,这就需要在本地(客户端)建立临时数据表来存储用户输入的数据,待提交后,清除本地表数据。这种方法的好处是:提高输入效率,减小网络负担。

  由于用户一次输入的数据量一般情况下较小(不会超过几百条记录),所以临时表可以建立在内存中,这样处理速度较快。
  方法1:使用查询控件(TQuery)
  第1步:在窗体上放上查询控件(TQuery),设置好所连接的数据表。
  第2步:使TQuery. CachedUpdates=True;
   TQuery. RequestLive=True
  第3步:在原有的SQL语句后加入一条Where子语句,要求加入这条Where子语句后SQL查询结果为空。
  例如:
  SELECT Biolife.″Species No″, Category, Common_Name, Biolife.″Species Name″, Biolife.″Length (cm)″, Length_In, Notes, Graphic
   FROM ″biolife.db″ Biolife
  where Biolife.Category=′A′ and Biolife.Category=′B′
  这样临时表就建立完成了。

  方法2:使用代码创建临时表
  代码如下:
  function CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet;
  var
TempTable:TClientDataSet;
  begin
   TempTable:=nil;
   Result:=nil;
   if AFieldDefs<>nil then
   begin
   try
   TempTable:=TClientDataSet.Create(Application);
   TempTable.FieldDefs.Assign(AFieldDefs);
   TempTable.CreateDataSet;
   Result:=(TempTable as TDataSet);
   Except
   if TempTable<>nil then
TempTable.Free;

  Result:=nil;
   raise;
    end
end
 end;

  在程序中按如下方法使用:
  procedure TForm1.Button1Click(Sender: TObject);
  var
ADataSet:TDataSet;
  begin
   ADataSet:=TDataSet.Create(Self);
   with ADataSet.FieldDefs do
   begin
   Add(′Name′,ftString,30,False);
   Add(′Value′,ftInteger,0,False);
   end;

   with DataSource1 do
   begin
   DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
   DataSet.Open;
   end;

   ADataSet.Free;
  end;

  临时表创建完成。

  方法1使用简单,但由于利用查询控件,清空数据时需要查询服务器后台数据库,所以速度稍慢,而且不适用于临时表中各个字段由数个数据表的字段拼凑而成的情况。方法2适用范围广、速度快,但需要编写代码。(代码中TFieldDefs的使用方法十分简单,见Delphi的联机帮助)。

2.配置数据引擎(BDE、SQL Link)
  有关数据库程序分发时,需要携带数据引擎(BDE、SQL Link),并且在客户端安装完程序后还需要配置数据引擎,如用户名(username)、密码(Password)等等。如果手工配置的话,工作量比较大(根据客户机数量而定)。而InstallShield For Delphi又好像没有这方面的选项,其实InstallShield For Delphi可以做到,在生成安装程序的目录里有一个*.iwz的文本文件,只要在[IDAPI Alias]片段中手工加入即可。 例如:
   [IDAPI Alias]
   usesname=SYSDBA
   password=masterkey
  安装程序后数据引擎自动配置完毕。

3.在InterBase数据库中使用函数
  程序员可能在用InterBase作为后台数据库时,会为其提供的函数过少而感到不方便(只有四个),无法方便地编写出复杂的存储过程。InterBase本身无法编写函数,但它可以使用外部函数(调用DLL中的函数)。下例中说明如何在InterBase 中声明SUBSTR函数。
  DECLARE EXTERNAL FUNCTION SUBSTR
   CSTRING(80), SMALLINT, SMALLINT
   RETURNS CSTRING(80)
   ENTRY_POINT ″IB_UDF_substr″ MODULE_NAME ″ib_udf″

  其中:MODULE_NAME为DLL的名称,ENTRY_POINT为函数名。
  声明后便可以使用,例如:
  select SUBSTR(country)
   from country

  本例使用的是Delphi安装时自带的IBLocal数据库。用户也可以自己编写函数来扩充InterBase
2022 RAD Studio Delphi 11.2 新版本发布并引入了新工具和质量改进升级 RAD Studio 11.2 包括对 Delphi 语言的 macOS ARM 64 上的 iOS 模拟器平台的支持,将 Delphi Linux 调试器迁移到 LLDB 技术,并为 RAD Studio IDE 添加了一些重要的新功能,包括 Markdown 支持和一个受欢迎的客户请求在代码编辑器中直观地指示非活动代码。“我们添加了几个重要的新功能”,Embarcadero 产品经理 Marco Cantù 补充道,“但此版本的核心重点一直是质量,在可用性、性能和稳定性方面,应我们客户的要求。 阅读详情

相关推荐

delphi11】delphi进阶【六、数据库编程】

设计数据库:首先,你需要一个数据库。可以是本地的 SQLite 数据库或远程的 SQL Server 数据库。设置数据库连接:使用 ADO 或 FireDAC 组件来建立连接。设计用户界面:创建表格、按钮等控件来显示和操作数据。编写事件处理代码:为按钮点击等事件编写代码,如添加、删除、更新数据库记录。

Bobowen的博客 2707

Delphi6数据库开发典型实例

支持Delphi!~ 数据库是20 世纪60 年代末开始兴起的数据处理技术,它以结构化方式存储大量的数据,并由数据库管理系统集中处理数据。 数据库具有数据结构化、数据独立性高、可以方便地实现数据共享等特点,而且便于使用和扩充。 本书通过丰富的实例为读者介绍了如何使用Delphi 开发数据库应用程序,这些实例都具有很高的实用价值。本书通过实例深入讲述了Delphi 数据库编程技术及技巧。 第 1 章介绍了Delphi 数据库开发工具,包括BDE Administrator、SQL Explorer、SQL Monitor 和Database Desktop 等数据库工具的使用。 还介绍了SQL 语言,包括通用SQL 查询语句、更新查询语句、表之间的连接和数据定义语言,并且着重说明了如何在Delphi中使用SQL 语句创建查询。 第 2 章首先介绍Delphi 文件管理的基本概念和标准过程/函数,并提供了一个记录文件的应用实例,最后提供了一个综合应用Delphi 文件管理功能的文件管理程序实例。 第 3 章通过“学生名册管理系统”的开发介绍了如何使用DAO 技术来设计数据库应用程序。 第 4 章介绍了Delphi 支持的4 种数据交换方式,即剪贴板、动态数据交换(DDE)、对象连接与嵌入(OLE),以及动态连接库(DLLs),并讨论了如何利用这4 种方式实现应用程序间的数据交换。 第 5 章介绍了报表和图表,从QReport 组件开始讲述了报表的概念、实现的主要功能,以及创建报表的方法,还通过一个具体的示例程序说明了如何在Delphi 中处理图表。 第 6 章的实例是一个投递邮件处理系统,该实例能够根据邮件投递人提供的资料管理邮件系统。 第 7 章介绍了书店租赁管理系统的开发过程,从中读者可学习如何尽可能节省人力,自动地完成数据的更新操作。 第 8 章介绍了基于数据库的闹铃程序设计,该实例的特点在于程序界面的背景和程序的声音文件均存储在数据库中,其中涉及到3 种数据库存储方式,即简单数据存储(如字符串和整型数等)、图像数据存储和声音文件存储。 附录 A 介绍了SQL 查询语言。 附录 B 列出了Delphi 中常用组件及其属性、方法和事件。 附录 C 中介绍了在示例中未涉及的有关DAO 技术。

delphi通过BDE方式连接数据库以及程序Demo

1、设置BDE连接 2、

huangwei19900407的专栏 4958

Delphi数据库系统开发完全手册 源代码

Delphi数据库系统开发完全手册》一书的源代码

Delphi数据库

数据库支持方面,Delphi内置了多种数据库支持,包括本地数据库、远程数据库等。在使用Delphi进行数据库开发时,需要注意连接数据库、打开数据集、进行数据操作、关闭数据集和连接等几个方面。在数据库支持方面,Delphi内置了多种数据库支持,包括本地数据库、远程数据库等。TTable是对本地数据库进行操作的组件,可以对表格进行增、删、改、查等操作。首先,需要在MySQL中创建一个名为“test”的数据库,并在该数据库中创建一个名为“student”的表格,包括学生姓名、学号、性别、年龄等字段。

记录 IT 领域经验与见解的博客 2053

delphi 桌面系统转C/S主要任务

 改C/S:在软件里加入合适的权限控制,再共享下数据库程序的里执行语句处理下并发情况,加入事物回滚操作,基本就OK了。。  1. 最简单的, 服务器只做数据服务器, 改下数据库连接; 2.   C/S跟单机的区别在于共享服务器资源(包括业务逻辑、数据等多种资源),此时关键需要考虑的一点,在这种情况下,服务器通常需要考虑到的是如何避免对数据做访问时的冲突性。这也主要在于服务

软件开发大神 2302

delphi数据库开发

Delphi企业版的Borland数据库引擎(BDE)可以高性能地连接SQL服务器,比如InterBase、Microsoft SQL Server、Oracle、InformixDynamic Server、Sybase Adaptive Server和DB2。 数据集的每一列被称为一个字段,每一行被称为一个记录。·数据集:是一个分立的数据记录的集合。数据集由VCL的TDataSet表示。·表...

jsrgren 616

Delphi 开发数据库程序经验三则 (转)

Delphi 开发数据库程序经验三则 (转)[@more@]1.建立临时表  数据输入是开发数据库程序的必然环节。在Client/Server结构中,客户端可能要输入一批数据后,再向服务器的后台数据库提交,这就需要在本地(客户...

csd3176的博客 114

一个Delphi程序员自述的开发经验

一个Delphi程序员自述的开发经验 作者:Sabine 来源:赛迪论坛 发布时间:2006.01.10

刘老师 1421

关于用DELPHI开发服务器软件中的一些经验

 保存 评价 游戏规则 免费注册 资料下载 关于本站 问题分类 编程问题 非技术题 富翁列表 我的信息 提出问题 在线富翁 富翁日历 笔记列表 我的笔记 写作笔记 全文检索 《专家门诊》 ALM大赛-->/delphibbs/dispq.asplid=2342105 富翁名称 富翁密码 请记住我 富翁名称 免费注册

only5me的专栏 1万+

一个基于delphi数据库开发系统

初学者可以看看 这个很有用的,结合数据库的基础知识可以加以设计delphi界面功能

DELPHI 5数据库开发技术

Delphi是一种非常优秀的可视化程序开发语言,Delphi 5 基于Windows 95/98/NT,采用高度结构化的Object Pascal语言,具有结构清晰、编译迅速等特点。它强大的可扩展数据库功能更赢得了无数数据库开发人员的青睐。本书详细介绍了Delphi 5 所增加的强大的数据库编程工具,例如ADO组件、IBX组件和数据模块设计窗口。本书由浅入深,系统地介绍了如何利用Delphi 5 强大的开发工具进行数据库应用程序开发,并结合每一部分的内容,列举了大量实例,以便于读者掌握。本书适用于从事数据库应用程序开发的广大技术人员以及作为各院校师生的学习参考。

Delphi开发单机瘦数据库程序要点

一、概述  Delphi作为Windows下的一种快速开发工具,不仅能开发一般的Windows应用程序,而且还具有强大的数据库应用程序开发功能。Delphi本身提供了对BDE,ODBC,ADO和InterBase几种数据库驱动的支持,能够满足不同应用对数据库程序开发的需要。  然而,在发布用Delphi开发数据库程序时,除了要安装应用程序之外,还需要同时发布数据库驱动程序。这对于一些只涉及单个或

cwxiao888的专栏 950

Delphi的InterBase数据库开发C&S应用程序

<br />随着Client/Server数据库技术的不断完善,越来越多的数据库 <br />将按照这种模式开发。以 前在大型机上运行的数据库如Oracle、 <br />Sybase等移植到小型服务器上以后,开发基于SQL的数 据库应用 <br />的趋势更加明显了。它比以往的网络数据库系统,无论在技术上 <br />还是性能上,都有了 很大的提高。Borland公司的Delphi开发 <br />数据库前端的优秀工具,具有开发速度快、编程简 单、界面优美 <br />等特点,特别是和Delphi一起带

zoubuzzw的专栏 635

Delphi的三层开发初学经验

数据库开发方面Delphi相对于其他众多开发工具其优势在于灵活快速,且十分稳定。本实例使用Remote DataModule(远程数据模块)创建。 服务端:   首先让我们来编译服务器端,打开Delphi7,     选择File菜单,New-> application,创建一个新窗体form1。   选择File菜单 -> New -> Other-> Multitier -> 选择R

七级风科技 2485

Delphi7数据库应用开发全面指南

Delphi7的IDE集成度非常高,它包括代码编辑器、表单设计器、调试工具、项目管理器等多个模块,为开发者提供了一个全面的编程环境。用户可以在同一个IDE内完成编码、调试、编译和部署应用的所有步骤。对于数据库应用开发者而言,IDE中的数据库导航器是不可或缺的工具,它简化了数据库对象的管理和查询的编写。VCL(Visual Component Library)是Delphi7中的一个强大的组件库,提供了大量的可视化组件和非可视化组件,方便开发者快速构建应用程序

weixin_36300623的博客 941

DELPHI开发Web程序常见问题

引子  Web程序开发开发工具提出了极大挑战,面对用户的众多需求,许多公司推出一大堆开发平台:开发桌面应用程序和C/S程序的,开发中间件的,开发Web服务器的。这造成程序员面对一大堆工具无从下手。  DELPHI和其他开发工具不同,因为它是一个开放系统,只要灵活使用一些控件,即可开发出各种类型的系统,不论N-Tie程序、多线程程序、分布计算程序(包括DCOM和CORBAR)、TCP程序、Web程

zou5655的专栏 1362
上一篇: Delphi制作带图标的弹出式选单
下一篇: 使用Win95的动画光标
ShowMan
博客等级 码龄26年 280粉丝 321原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值