delphi 如何在delphi6中的dbgrid填加计算字段?我找了半天!!!

delphi 如何在delphi6中的dbgrid填加计算字段?我找了半天!!!,第1张

dbgrid首先与ADOQuery或adotable的datasource连结然后在ADOQuery或adotable控件鼠标右击,在fields

editer中

添加

all

fields这时你的ADOQuery的所有字段都显示出来了这时在添加new

field例如:new字段然后在ADOQuery控件的onCalcFields事件中加入你的代码使new的值满足你的要求if

....

then

DataModule1.ADOQuery.Fieldsbyname

.value...这时你要运行程序,你的new字段已经自动添加到了DBGrid中的最后一个。这样增加了一个new字段,

先添加一个datasource的控件,如datasource1,把DBGrid属性中的datasource属性选择datasource1.假设你的连接的数据集名称是是Query1,你可以在Formshow里面下代码:

Datasource1.dataset := Query1

if Query1.Active then Query1.Close

Query1.sql.clear

Query1.Sql.Add('select * from [表名]')

Query1.Open

这样就可以了.

一、预备知识

在 delphi 语言中,对于数据库的 *** 作类组件,简单地可以分为前台(数据显示)及后台(数据 *** 作)类组件。前台类的组件,如 dgGrid、dbEdit 等;后台类的组件,如 AdoTabel、ADOQuery 等。

两者的关系,通常来说,在前台(如 dbGrid)中,对数据的 *** 作(添加、删除记录),最终都需要后台进行实际的动作。

二、对数据库进行添加数据记录 *** 作,通常步骤如下:

1、设置数据库为添加记录状态

2、为数据表中的各字段赋值

3、确认数据,将数据写入数据库

4、更新数据库状态(刷新前台组件数据),

需要说明的是,第 4 步骤为 非必需 项。delphi 的数据库组件具有数据感知特性,一般当数据库改变后,前台的诸如 dbGrid 等组件会自动刷新数据。但某些时候(当数据进行了更改,而数据表格并没有实时反映出变化时),需要进行此步骤。

三、编写代码示例如下:

procedure TForm1.Button1Click(Sender: TObject)

begin

  //设置数据库为添加记录状态

  ADOTable1.Append

  //为数据表中的各字段赋值

  ADOTable1.FieldByName('Name').Value := '张三丰'

  ADOTable1.FieldByName('Sex').Value := '男'

  ADOTable1.FieldByName('Age').Value := 30

  ADOTable1.FieldByName('Address').Value := '武汉长沙'

  //提交数据

  ADOTable1.Post

  //更新数据库状态(刷新前台组件数据)

  ADOTable1.Requery()

end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11627224.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存