delphi中,如何向dbgrid中添加数据记录并自动刷新

我想将几个edit.text编辑后的内容,通过一个click按钮增加到dbgrid中,并自动刷新。求解答。附图... 我想将几个edit.text编辑后的内容,通过一个click按钮增加到dbgrid中,并自动刷新。求解答。附图 展开
 我来答
windblast
2017-06-10 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13620
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

一、预备知识

在 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;
班丘曼岚0y
2011-08-25 · 超过24用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:67.1万
展开全部
DB 开头的控件表示数据感知。初期使用,很方便。
而用非数据感知的处理方法,无非就是操作 AdoQuery之类的继承自 TDataSet 的控件。
都一样的规则,
先定位到数据,比如:Locate,或者在 DBGrid 上点选。
ADOQuery.Edit; // 准备编辑。
ADOQuery.FieldByName('第一个字段名').AsVariant := 1233; // 也可以 As 你指针的特定类型。
ADOQuery.FIelds[1].AsString := Edit1.Text; // 第二个字段
ADOQuery.Pos; // 提交到数据库文件中。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邦浅魔千
2011-08-23 · TA获得超过220个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:353万
展开全部
一、使用Tedit控件,增加后,关闭数据集并重新打开
二、使用数据感知控件, 如TDBEdit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式