日期:2013-05-22  浏览次数:20559 次

作者:思索 整理:南海

数据库编程示例  

   

  在本次讲座中,我们以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数据表的程序示例,当然,这个程序是非常简单的,它实现的只是数据库操作的最基本功用。而且这个程序只是在单击环境下运转的,在设计的时候,我们还不需求考虑一些例如并发性的问题。如今比较成熟的是在客户机/服务器结构下和浏览器/服务器下对数据库进行操作,而且随着网络功用的加入,许多新的问题也带入进来,在后面我们将举这方面的例子,请大家静候佳音吧!