知识大全 简单数据库应用的创建及MASTAPP介绍(二)[4]

Posted

篇首语:富有臂力的人只能战胜一人;富有知识的人却所向无敌。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 简单数据库应用的创建及MASTAPP介绍(二)[4]相关的知识,希望对你有一定的参考价值。

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(二)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  下面便是说明使用Gotokey方法查找数据记录的例子

  例 当用户在Edit 部件中输入客户号码并单击查找按钮 程序便开始在Table 中查找这个客户号 如果查找成功 查找信息 查找成功 便会显示在标签Label 上 被查询到的客户的电话号码显示在标签Label 上 表中的记录指针将转移到该客户记录处 并且在网格DBGrid 中以高亮度显示这一条记录

  查询数据库中的记录

  下面的程序清单是查询按钮上的OnClick事件的处理程序 它是使用Gotokey方法查找数据库中的记录的

  procedure TForm Button OnClick(Sender:TObject)

  begin

  with Table do

  begin

  Label Caption:= ;

  Label Caption:= ;

  IndexFieldName:= CustNo ;

  setkey;

  FieldByName( CustNo ) AsString:=Edit Text;

  If GotoKey then

  begin

  Label Caption:= 查找成功 ;

  Label Caption:=FieldByName( Phone ) AsString;

  end;

  else

  Label Caption:= 查找失败 ;

  end;

  查询数据库中的记录

   使用FindKey方法查找数据库中的记录

  虽然使用上面的Gotokey方法在数据库中查找记录效果不错 但是Delphi 还提供了一种更加容易的查找方法 这就是Findkey方法 两种方法虽然很相似 但是Findkey方法更简单明了一些

  例 我们可以使Findkey方法代替上面例子中的处理程序 下面是程序代码

  procedure TForm Button OnClick(Sender:TObject)

  var

  SeekValue:string;

  begin

  with Table do

  begin

  Label Caption:= ;

  Label Caption:= ;

  IndexFieldName:= CustNo ;

  SeekValue:=Edit Text;

  If FindKey([SeekValue]) then

  begin

  Label Caption:= 查找成功 ;

  Label Caption:=FieldByName( Phone ) AsString;

  end;

  else

  Label Caption:= 查找失败 ;

  end;

  Findkey方法和Gotokey方法的根本区别在于查找值要作为参数传递给Findkey 函数 而GOtokey是不带参数的 它假定用户已经把查找值赋给了代表着被查找到的字段的查找缓冲区

  Findkey接受的参数是放在方括号中的 是用逗号分开的查找值数组 数组中的每一个值都对应于特定列的查找值 即参数中允许有多个查找值 Findkey 允许用户同时查找数据库表中的多个列 上面的程序清单中的Findkey函数只接受了变量Seekvalue这一个查找值 这个查找值对应表中的字段CustNo CustNo是表中的关键字段 如果要同时查找表中的多个字段 必须把要查找的多个字段名赋给TTable部件的IndexFieldName属性 并用逗号分开各字段 然后把每个字段的查找值赋给Findkey的参数数组中

   利用GotoNearest和FindNearest执行不精确查找

  在我们上面讨论的查找中 要么查找成功要么查找失败 因为我们查找的是特定查找值的一个精确匹配值 Delphi还提供了一种查找方法 即不精确查找 这样的查找绝对不会失败 它总是给用户查找出一个结果来 也许这结果并不是用户需要的 但这个查找出来的结果是最接近用户要求的 在Delphi中是利用GotoNearest和FineNearest两种方法来执行不准确查找的 它们总是从数据库中查找出与查找值最接近的匹配值 如果它们查找到与查找值精确匹配的值 那当然最好不过了 如果他们找不到精确匹配的值 它们就会把与用户指定的查找值最接近的记录提交给用户

  GotoNearest的使用方法和Gotokey一样 FindNearest的使用方法和Findkey一样 跟Gotokey一样 使用GotoNearest时必须要把查找值赋给字段的查找缓冲区 两者的不同之处在于查找值的说明方式不一样 使用GotoNearest时 说明的查找值可以是完整的也可以是不完整的 如果要对 Dunteman 进行不精确查找 在给字段的查找缓冲区赋查找值时 可以使用 Dunteman Dun 或者`Du 作为查找值 这样查找出来的结果会尽可能地接近这个值的

  如果没有找到与用户指定的查找值精确匹配的记录 Delphi会调整记录指针并停留在与查找值最接近的第一个记录上 例如如果查找`Dunteman 时 没有找到精确匹配的值 记录指针可能会停留在`Dunwoody 上或者停留在更远一些的 Event 上 如果查找 Du 没有找到精确匹配的值 记录指针可能停留在 Duncan 上 甚至 Dunteman 之前 总之Delphi会自己地调整记录指针 使之指向最接近查找值的记录并将该记录作为查找的结果提交给用户

  GotoNearest和FindNearest都返回一个Boolean值以表明查找是否成功 它们一般都是成功的 它们总是要把记录指针移到某处

  下面的例子是用GotoNearest方法进行不精确查找

  例 创建好的窗体 在编辑框中输入一个不完整的客户所在的公司名称 并且按 不精确查找 按钮 然后观察一下查找的结果并注意记录指针指向那一条记录 反复试验几次便会理解GotoNearest是如何工作的

  返回目录 DELPHI基础教程

       编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

  ORACLE G数据库开发优化指南

  Java程序性能优化 让你的Java程序更快 更稳定

  C嵌入式编程设计模式

  Android游戏开发实践指南

cha138/Article/program/Delphi/201311/25172

相关参考

知识大全 简单数据库应用的创建及MASTAPP介绍(二)[3]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(二)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(三)[2]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(三)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(三)[1]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(三)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(三)[4]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(三)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(一)[3]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(一)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(三)[3]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(三)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(一)[1]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(一)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 简单数据库应用的创建及MASTAPP介绍(一)[2]

DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(一)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 创建一个三层的数据库应用程序

概论    本文将介绍如何创建一个三层应用程序并且将介绍如何创建一个WebService服务    ADONET创建Wi