精通数据库系列之入门-技巧篇4_MySQL
作者:思索 整理:南海
数据库编程示例
在本次讲座中,我们以Delphi5为开发工具,标准的paradox表为后台数据库,来向大家介绍如何进行最简单的数据库编程。在本例中,我们将实现对一个数据表单的添加、修改、删除以及对表中数据进行查询的功能。
本例所使用的计算机软硬件环境为:Windows NT 4.0 Server,Borland Delphi 5,PIII550,256M内存。当然啦,一般的朋友在Win98的环境下或者Win2000的环境下都可以按照本例的步骤来编程序的。笔者的机器主要用作服务器,所以就在服务器上编啦。废话少说,现在开始:
在正式编写程序之前要有许多准备工作,这当然包括Borland Delphi 5的安装。Delphi5自身带了对标准数据表paradox的驱动(和一些fox系列数据库软件的.db文件是兼容的,这些文件都可以由Delphi直接读取)。
程序编写的第一步首先是数据表(即.db文件)的建立。在这一步要用到Delphi自带的一个工具叫Database Desktop。这个工具主要用来对表格进行操作,它不仅可以操作像.db文件这样的标准表格,还可以访问像Oracle、SQL Server等大型数据库的文件,功能可以说是很强大的。打开Database Desktop,选择File-New-Table,然后选择paradox7,出现如下界面:
在FieldName里面填写你要建立的表单的属性名称,如图所示,本例中要建立的是人员管理表,所以建立的属性为编号、姓名、性别、工作单位、工资、备注等。除工资之外的属性都是字符串类型,即图中Type项所选择的A(Alpha),而Size则是指的字符串的长度,属性值的长度是根据属性的具体意义来确定的,例如“性别”选择只有“男”和“女”,一个汉字的长度,那么性别属性的长度设置成2就可以了(一个汉字等于两个字符的长度)。而工资属性是数值类型的,在paradox中用Number来标记,即和前面对应的一个“N”。属性设置完毕后,选择Save As存盘。本例中,所建立的数据表格的存放路径和文件名为:D:\Program Files\Borland\Database Desktop\WorkDir\ryb.db(人员表)。
这样就完成了第一步,这一步只是编程之前的准备工作,也是后面针对这个表单编写数据库应用程序的基础。下面要进行的就是实际的程序编写了,请打开Borland Delphi 5。
在缺省的Form1上放置这样一些控件(控件的位置就不用俺再罗嗦了吧?):TdataBase、Ttable、TdataSourse、TdbGrid、Tlabel、TdbNavigator。按照你喜欢的界面风格来放置这些控件,如下图本例中的控件放置:
下一步就是控件属性的设置啦,这一步也是本例中最关键的一步,因为许多网友对使用前端开发工具对后台数据库进行编程比较生疏,也就是在这个地方。
我们将Tdatabase的DataBaseName属性设置成Mydb(这个名字可以随便起),drivername为STANDARD(表明驱动的是paradox表),params属性为path=D:\Program Files\Borland\Database Desktop\WorkDir(存放.db文件的路径,前面已经提到),connected设为true(和数据表建立起连接),其他属性使用缺省值就可以了。
然后将Table的Databasename属性设为Mydb(即Database1的DataBaseName属性),tablename为ryb.db(即数据表的名字)Active属性设置为True(打开表单,便于编写程序)。
接着将Datasourse1的dataset属性设为为Table1(Ttable的name属性值)。另外DBNavigator1和DbGrid1的datasourse属性都设为datasourse1。Tlabel的caption属性设为“数据库编程示例”,如图所示(可以根据个人喜好修改字体,使它变得好看一些)。 >这样控件的属性就设置完毕了,注意到dbgrid里面的“编号”、“姓名”等栏都是数据表中的属性,在ryb.db里面定义,而不是在前端的delphi程序里面定义。点击run按钮之后,这个简单的程序就运行了(见下图)。 >这是通过Dbnavigator上的按钮就可以控制对表单进行数据的添加、删除、修改了(将DbNavigator的ShowHint属性改为True的话可以在运行时看到各个按钮的提示)。
至此,我们实现了使用Delphi这种快速开发工具编写简单的数据库应用程序, 细心的读者可能注意到了,到目前为止连一行程序都没有写,确实是这样,这就是第四代程序设计语言(可视化的编程语言)给我们带来的好处。当然啦,要编写比较复杂的程序不写代码是不可能的,下面我们将在上面的基础上实现查询的功能,并给大家附上源程序。在Form增加如下控件:一个Tquery、一个Tbutton、4个Tlabel、2个Tedit。并将Tlabel的属性进行下图所示的修改(新增加的控件都在黑色方框中):
将Query1的DataBaseName属性也设置成MyDb(和Table一样),SQL属性中写入Select* from ryb,RequestLive设为True(这样可以对Query里面的数据进行修改),然后将Active属性设为True。最后将DataSourse1的DataSet属性改为query1(此时Table1控件可以从Form上去掉了)。
双击Button1,在程序编辑器里面写入如下代码:
Query1.close;
Query1.Sql.clear;
Query1.SQL.Add(Select * from ryb);
Query1.sql.add(where 姓名 like :xm and 工资 > :gz);
Query1.ParamByName(xm).asstring:=% Edit1.text %;
If (Edit2.text’’)then
Query1.ParamByName(gz).value:=strtofloat(Edit2.text);
Query1.prepare;
Query1.open; >
这样就完成了查询代码的编写,具体各条语句所引用的函数的含义大家可以参考Delphi的帮助文档,在此就不作赘述了。另外在编写查询程序时,涉及到一些关于数据库查询语言SQL的知识,在后面的文章中我们将有比较详细的介绍。 >此时再执行这个程序,就编程的具有查询功能的数据库程序。在Edit1和Edit2中输入相应的查询条件,然后点击Button1(确定),程序就执行相应的查询操作,查询到的结果将在DBGrid1中显示。
到此为止,我们就实现了使用Borland Delphi5操纵paradox数据表的程序示例,当然,这个程序是非常简单的,它实现的只是数据库操作的最基本功能。而且这个程序只是在单击环境下运行的,在设计的时候,我们还不需要考虑一些例如并发性的问题。现在比较成熟的是在客户机/服务器结构下和浏览器/服务器下对数据库进行操作,而且随着网络功能的加入,许多新的问题也带入进来,在后面我们将举这方面的例子,请大家静候佳音吧!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Kimi:一句话,十几秒钟,一份PPT就新鲜出炉了。PPT这玩意儿,可太招人烦了!开个碰头会,要有PPT;写个周报,要做PPT;拉个投资,要展示PPT;就连控诉出轨,都得发个PPT。大学更像是学了个PPT专业,上课看PPT,下课做PPT。或许,37年前丹尼斯・奥斯汀发明PPT时也没想到,有一天PPT竟如此泛滥成灾。吗喽们做PPT的苦逼经历,说起来都是泪。「一份二十多页的PPT花了三个月,改了几十遍,看到PPT都想吐」;「最巅峰的时候,一天做了五个PPT,连呼吸都是PPT」;「临时开个会,都要做个

北京时间6月20日凌晨,在西雅图举办的国际计算机视觉顶会CVPR2024正式公布了最佳论文等奖项。今年共有10篇论文获奖,其中2篇最佳论文,2篇最佳学生论文,另外还有2篇最佳论文提名和4篇最佳学生论文提名。计算机视觉(CV)领域的顶级会议是CVPR,每年都会吸引大量研究机构和高校参会。据统计,今年共提交了11532份论文,2719篇被接收,录用率为23.6%。根据佐治亚理工学院对CVPR2024的数据统计分析,从研究主题来看,论文数量最多的是图像和视频合成与生成(Imageandvideosyn

我们知道LLM是在大规模计算机集群上使用海量数据训练得到的,本站曾介绍过不少用于辅助和改进LLM训练流程的方法和技术。而今天,我们要分享的是一篇深入技术底层的文章,介绍如何将一堆连操作系统也没有的「裸机」变成用于训练LLM的计算机集群。这篇文章来自于AI初创公司Imbue,该公司致力于通过理解机器的思维方式来实现通用智能。当然,将一堆连操作系统也没有的「裸机」变成用于训练LLM的计算机集群并不是一个轻松的过程,充满了探索和试错,但Imbue最终成功训练了一个700亿参数的LLM,并在此过程中积累

机器之能报道编辑:杨文以大模型、AIGC为代表的人工智能浪潮已经在悄然改变着我们生活及工作方式,但绝大部分人依然不知道该如何使用。因此,我们推出了「AI在用」专栏,通过直观、有趣且简洁的人工智能使用案例,来具体介绍AI使用方法,并激发大家思考。我们也欢迎读者投稿亲自实践的创新型用例。视频链接:https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ最近,独居女孩的生活Vlog在小红书上走红。一个插画风格的动画,再配上几句治愈系文案,短短几天就能轻松狂揽上

小米15系列预计将于10月份正式发布,其全系列代号已在外媒MiCode代码库中曝光。其中,旗舰级小米15Ultra代号为"Xuanyuan"(意为"轩辕"),此名源自中国神话中的黄帝,象征着尊贵。小米15的代号为"Dada",而小米15Pro则以"Haotian"(意为"昊天")为名。小米15SPro内部代号为"dijun",暗指《山海经》创世神帝俊。小米15Ultra系列涵盖

检索增强式生成(RAG)是一种使用检索提升语言模型的技术。具体来说,就是在语言模型生成答案之前,先从广泛的文档数据库中检索相关信息,然后利用这些信息来引导生成过程。这种技术能极大提升内容的准确性和相关性,并能有效缓解幻觉问题,提高知识更新的速度,并增强内容生成的可追溯性。RAG无疑是最激动人心的人工智能研究领域之一。有关RAG的更多详情请参阅本站专栏文章《专补大模型短板的RAG有哪些新进展?这篇综述讲明白了》。但RAG也并非完美,用户在使用时也常会遭遇一些「痛点」。近日,英伟达生成式AI高级解决

自去年华为Mate60系列开售以来,我个人就一直将Mate60Pro作为主力机使用。在将近一年的时间里,华为Mate60Pro经过多次OTA升级,综合体验有了显着提升,给人一种常用常新的感觉。比如近期,华为Mate60系列就再度迎来了影像功能的重磅升级。首先是新增AI消除功能,可以智能消除路人、杂物并对空白部分进行自动补充;其次是主摄色准、长焦清晰度均有明显升级。考虑到现在是开学季,华为Mate60系列还推出了秋日礼遇活动:购机可享至高800元优惠,入手价低至4999元。常用常新的产品力加上超值

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步
