热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

精通数据库系列之入门-技巧篇4_MySQL

作者:思索整理:南海数据库编程示例在本次讲座中,我们以Delphi5为开发工具,标准的paradox表为后台数据库,来向大家介绍如何进行最简单的数据库编程。在本例中,我们将实现对一个数据表单的添加、修改、删除以及对表中数据进行查询的功能。本例所使用的计算机软硬
作者:思索 整理:南海

数据库编程示例  



  在本次讲座中,我们以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数据表的程序示例,当然,这个程序是非常简单的,它实现的只是数据库操作的最基本功能。而且这个程序只是在单击环境下运行的,在设计的时候,我们还不需要考虑一些例如并发性的问题。现在比较成熟的是在客户机/服务器结构下和浏览器/服务器下对数据库进行操作,而且随着网络功能的加入,许多新的问题也带入进来,在后面我们将举这方面的例子,请大家静候佳音吧!  
推荐阅读
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
author-avatar
L的日记727248401
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有