
把这一段加上去:
Private Sub Form_Timer()
Dim rst As DAO.Recordset
Set rst = Me.Recordset'由于数据已经绑定了,所以这样设置就好了。如果不绑定的话,可能需要使用ADO来完成。
If rst.EOF Then
rst.MoveFirst
Else
rst.MoveNext
End If
End Sub
不需要解释吧?大体就是将本地记录集设置为当前记录集,然后每隔1000秒向后移动1次【movenext】,如果移动到末端则返回第一条记录【避免出错】。
然后设置计时器的时间为1000。如图所示:
一、预备知识
在 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
如果是你自己更新数据后提示的话,只要更新数据后做这个 *** 作就可以了,d窗口,如果是CS的就不用Ajax ,如果是页面的话可以用也可以不用,主要是这个 *** 作是如何触发的,如果不是自己触发,是别人触发你并不知道他什么时候 *** 作的,那就需要数据库里写一个触发器,数据更新会自动触发事件,然后d窗即可。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)