delphi中的sql

SQL(结构化查询语言)是一种标准化的语言,用于定义和操作关系数据库中的数据。根据数据的关系模型,数据库被视为一组表,关系由表中的值表示,通过指定可从一个或多个基表派生的结果表来检索数据。查询采用命令语言的形式,允许您选择、插入、更新、查找数据位置等。...

SQL(结构化查询语言)是一种标准化的语言,用于定义和操作关系数据库中的数据。根据数据的关系模型,数据库被视为一组表,关系由表中的值表示,通过指定可从一个或多个基表派生的结果表来检索数据。查询采用命令语言的形式,允许您选择、插入、更新、查找数据位置等。

man at computer

delphi中的tquery

如果要在应用程序中使用SQL,您将非常熟悉TQuery组件。Delphi使您的应用程序能够通过TQuery组件直接使用SQL语法来访问Paradox和dBase表(使用本地SQL—ANSI标准SQL的子集)、本地InterBase服务器上的数据库以及远程数据库服务器上的数据库中的数据。Delphi还支持针对多个服务器或表类型(例如,来自Oracle表和Paradox表的数据)的异构查询。TQuery有一个名为SQL的属性,用于存储SQL语句。

TQuery封装一个或多个SQL语句,执行它们,并提供我们可以用来操作结果的方法。查询可以分为两类:产生结果集的查询(如SELECT语句)和不产生结果集的查询(如UPDATEor INSERT语句)。使用TQuery.Open执行生成结果集的查询;使用TQuery.ExecSQL执行不生成结果集的查询。

SQL语句可以是静态的,也可以是动态的,也就是说,它们可以在设计时设置,也可以包含在运行时变化的参数(TQuery.Params)。使用参数化查询非常灵活,因为您可以在运行时动态更改用户对数据的查看和访问。

所有可执行的SQL语句必须在执行之前准备好。准备的结果是语句的可执行或操作形式。准备SQL语句的方法及其操作形式的持久性区分了静态SQL和动态SQL。在设计时,当您将查询组件的活动属性设置为True时,查询将自动准备和执行。在运行时,通过调用Prepare来准备查询,并在应用程序调用组件的Open或ExecSQL方法时执行查询。

TQuery可以返回两种结果集:“live”和TTable组件(用户可以使用数据控件编辑数据,并且当调用Post时,更改会发送到数据库),“只读”仅用于显示目的。要请求实时结果集,请将查询组件的RequestLive属性设置为True,并注意SQL语句必须满足某些特定要求(无ORDER BY、SUM、AVG等)

查询在许多方面的行为非常类似于表过滤器,在某些方面,查询甚至比过滤器更强大,因为它允许您访问:

  • 一次有多个表(SQL中的“联接”)
  • 来自其基础表的行和列的指定子集,而不是始终返回所有行和列

简单例子

现在,让我们看看一些SQL在起作用。虽然我们可以使用“数据库表单向导”为此示例创建一些SQL示例,但我们将手动一步一步地执行此操作:

1.在主窗体上放置TQuery、TDataSource、TDBGrid、TEdit和TButton组件。2.将TDataSource组件的DataSet属性设置为Query1。3.将TDBGrid组件的DataSource属性设置为DataSource1。4.将TQuery组件的DatabaseName属性设置为DBDEMOS。5.双击TQuery的SQL属性,将SQL语句分配给它。若要使网格在设计时显示数据,请将TQuery组件的Active属性更改为True。即使Employee.db有7个字段,网格也会以三列(FirstName、LastName、Salary)显示Employee.db表中的数据,并且结果集仅限于FirstName以“R”开头的记录。

7.现在将以下代码分配给Button1的OnClick事件。

procedure TForm1.Button1Click(Sender: TObject); begin Query1.Close;{close the query} //assign new SQL expression Query1.SQL.Clear; Query1.SQL.Add ('Select EmpNo, FirstName, LastName'); Query1.SQL.Add ('FROM Employee.db'); Query1.SQL.Add ('WHERE Salary > ' + Edit1.Text); Query1.RequestLive := true; Query1.Open; {open query + display data} end;

8.运行应用程序。单击按钮时(只要“编辑1”中有有效的货币值),网格将显示薪资高于指定货币值的所有记录的EmpNo、FirstName和LastName字段。

在本例中,我们创建了一个带有实时结果集的简单静态SQL语句(我们没有更改任何显示的记录),仅用于显示目的。

  • 发表于 2021-09-08 10:40
  • 阅读 ( 185 )
  • 分类:数学

你可能感兴趣的文章

用delphi创建、解析和操作xml文档

...行诸如检索、更新和插入XML数据之类的操作。 作为一名Delphi程序员,您应该知道如何使用XML文档。 xml与delphi 有关将Delphi与XML配对的更多信息,请阅读: 了解如何将TTreeView组件项存储到XML(保留树节点的文本和其他属性)...

  • 发布于 2021-09-06 15:05
  • 阅读 ( 165 )

如何将媒体文件嵌入delphi可执行文件(rc/.res)(embed media files into a delphi executable (rc/.res))

...止其他人操纵这些加载项文件。 本文将向您展示如何在Delphi可执行文件中嵌入(和使用)声音文件、视频剪辑、动画以及更一般的任何类型的二进制文件。对于最通用的用途,您将看到如何将MP3文件放入Delphi exe中。 资源文...

  • 发布于 2021-09-06 15:08
  • 阅读 ( 191 )

delphi编译器版本指令

如果您计划编写可以与多个版本的Delphi编译器一起使用的Delphi代码,您需要知道您的代码是在哪个版本下编译的。 假设您正在编写自己的商业自定义组件。组件的用户可能具有与您不同的Delphi版本。如果他们试图重新编译组...

  • 发布于 2021-09-06 15:09
  • 阅读 ( 163 )

理解delphi项目和单元源文件

简而言之,Delphi项目只是组成由Delphi创建的应用程序的文件集合。DPR是用于Delphi项目文件格式的文件扩展名,用于存储与项目相关的所有文件。这包括其他Delphi文件类型,如表单文件(DFM)和单元源文件(.PASs)。 由于Delphi...

  • 发布于 2021-09-06 15:15
  • 阅读 ( 173 )

程序退出时delphi中的内存泄漏通知

自Delphi 2006以来的所有Delphi版本都有一个更新的内存管理器,该管理器速度更快,功能更丰富。 “新”内存管理器最出色的功能之一是允许应用程序注册(和注销)预期内存泄漏,并在程序关闭时报告意外内存泄漏。 使用De...

  • 发布于 2021-09-06 15:15
  • 阅读 ( 166 )

德尔福单元剖析(德尔福初学者版)

如果您打算成为一名优秀的Delphi程序员,那么“接口”、“实现”和“使用”等词需要在您的编程知识中占有特殊的位置。 德尔福项目 当我们创建一个Delphi应用程序时,我们可以从一个空白项目、一个现有项目或Delphi的一...

  • 发布于 2021-09-10 20:53
  • 阅读 ( 181 )

如何将下拉选择列表放置到dbgrid中(place a drop down pick list into a dbgrid)

...户界面。 现在,您已经知道什么是查找字段,以及在Delphi的DBGrid中显示查找字段的选项是什么,现在是时候了解如何使用DGBrid列的PickList属性,使用户能够从下拉列表框中为查找字段选择值了。 关于dbgrid columns属性的快速...

  • 发布于 2021-09-10 22:19
  • 阅读 ( 199 )

如何delphidbgrid中的记录排序(sort records in delphi dbgrid)

Delphi DBGrid是一个功能强大的组件,如果您正在开发数据感知应用程序,那么您可能每天都在使用它。下面,我们将了解如何向您的数据库应用程序中添加更多用户肯定会喜欢的功能。 按照《Delphi数据库编程初学者指南》中描...

  • 发布于 2021-09-10 22:31
  • 阅读 ( 232 )

delphi的顺序和枚举数据类型

Delphi的编程语言是强类型语言的一个例子。这意味着所有变量必须是某种类型。类型本质上是一种数据的名称。当我们声明一个变量时,我们必须指定它的类型,它决定了变量可以保存的值集以及可以对其执行的操作。 Delphi...

  • 发布于 2021-09-10 23:38
  • 阅读 ( 197 )

用delphi和ado编辑excel表格

...,以及如何处理这些错误。 以下内容包括: Excel和Delphi之间的数据传输方法。如何使用ADO(ActiveX数据对象)和Delphi连接Excel。 使用Delphi和ADO创建Excel电子表格编辑器 从Excel中检索数据。如何在Excel工作簿中引用表(或范围)...

  • 发布于 2021-09-11 00:21
  • 阅读 ( 239 )
iO1fpX0HDS
iO1fpX0HDS

0 篇文章

相关推荐