冷月葬花魂 发表于 2015-1-16 22:32:57

MYSQL教程之精晓数据库系列之进门-技能篇4

MySQL在业界的流行所带来的另一个好处是,人们总可以很轻松地发现本行业的MySQL学习教程。厂商都希望他们的开发工具和应用程序框架可以与MySQL数据库兼容。技能|数据|数据库思考收拾:南海

数据库编程示例  



  在本次讲座中,我们以Delphi5为开辟工具,尺度的paradox表为背景数据库,来向人人先容怎样举行最复杂的数据库编程。在本例中,我们将完成对一个数据表单的增加、修正、删除和对表中数据举行查询的功效。

  本例所利用的盘算机软硬件情况为:WindowsNT4.0Server,BorlandDelphi5,PIII550,256M内存。固然啦,一样平常的伴侣在Win98的情况下大概Win2000的情况下都能够依照本例的步骤来编程序的。笔者的呆板次要用作服务器,以是就在服务器上编啦。空话少说,如今入手下手:

  在正式编写程序之前要有很多筹办事情,这固然包含BorlandDelphi5的安装。Delphi5本身带了对尺度数据表paradox的驱动(和一些fox系列数据库软件的.db文件是兼容的,这些文件都能够由Delphi间接读取)。

  程序编写的第一步起首是数据表(即.db文件)的创建。在这一步要用到Delphi自带的一个工具叫DatabaseDesktop。这个工具次要用来对表格举行操纵,它不但能够操纵像.db文件如许的尺度表格,还能够会见像Oracle、SQLServer等年夜型数据库的文件,功效能够说是很壮大的。翻开DatabaseDesktop,选择File-New-Table,然后选择paradox7,呈现以下界面:

   

  在FieldName内里填写你要创建的表单的属性称号,如图所示,本例中要创建的是职员办理表,以是创建的属性为编号、姓名、性别、事情单元、人为、备注等。除人为以外的属性都是字符串范例,即图中Type项所选择的A(Alpha),而Size则是指的字符串的长度,属性值的长度是依据属性的详细意义来断定的,比方“性别”选择只要“男”和“女”,一个汉字的长度,那末性别属性的长度设置成2就能够了(一个汉字即是两个字符的长度)。而人为属性是数值范例的,在paradox顶用Number来标志,即和后面对应的一个“N”。属性设置终了后,选择SaveAs存盘。本例中,所创建的数据表格的寄存路径和文件名为:D:ProgramFilesBorlandDatabaseDesktopWorkDiryb.db(职员表)。  

  如许就完成了第一步,这一步只是编程之前的筹办事情,也是前面针对这个表单编写数据库使用程序的基本。上面要举行的就是实践的程序编写了,请翻开BorlandDelphi5。  

  在缺省的Form1上安排如许一些控件(控件的地位就不必俺再罗嗦了吧?):TdataBase、Ttable、TdataSourse、TdbGrid、Tlabel、TdbNavigator。依照你喜好的界面作风来安排这些控件,以下图本例中的控件安排:

   

  下一步就是控件属性的设置啦,这一步也是本例中最关头的一步,由于很多网友对利用前端开辟工具对背景数据库举行编程对照陌生,也就是在这个中央。

  我们将Tdatabase的DataBaseName属性设置成Mydb(这个名字能够任意起),drivername为STANDARD(标明驱动的是paradox表),params属性为path=D:ProgramFilesBorlandDatabaseDesktopWorkDir(寄存.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*fromryb,RequestLive设为True(如许能够对Query内里的数据举行修正),然后将Active属性设为True。最初将DataSourse1的DataSet属性改成query1(此时Table1控件能够从Form上往失落了)。  

  双击Button1,在程序编纂器内里写进以下代码:  

Query1.close;  

  Query1.Sql.clear;  

  Query1.SQL.Add(Select*fromryb);  

  Query1.sql.add(where姓名like:xmand人为>: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中显现。  

  到此为止,我们就完成了利用BorlandDelphi5利用paradox数据表的程序示例,固然,这个程序长短常复杂的,它完成的只是数据库操纵的最基础功效。并且这个程序只是在单击情况下运转的,在计划的时分,我们还不必要思索一些比方并发性的成绩。如今对照成熟的是在客户机/服务器布局下和扫瞄器/服务器下对数据库举行操纵,并且跟着收集功效的到场,很多新的成绩也带进出去,在前面我们将举这方面的例子,请人人静候佳音吧!  
MySQL数据库归MySQLAB公司所有,但是这个软件是开源的,有一个MySQL学习教程可以免费下载。稍俱常识的新入门者都可以轻松实现在一个常见硬件上安装和配置MySQL。

第二个灵魂 发表于 2015-1-19 16:24:28

始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。

若相依 发表于 2015-2-5 16:02:48

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

兰色精灵 发表于 2015-2-12 22:40:19

备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。

透明 发表于 2015-3-3 10:44:00

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。

爱飞 发表于 2015-3-11 10:23:23

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

小魔女 发表于 2015-3-18 05:30:19

原来公司用过MYSQL自己也只是建个表写个SQL

海妖 发表于 2015-3-25 12:44:26

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
页: [1]
查看完整版本: MYSQL教程之精晓数据库系列之进门-技能篇4