VB 用ADO与SQL连接的时候,怎样实现与数据库的同步呢?就是当数据库改变的时候VB中的数据也跟着变?
展开全部
dim a as long'通用中定义
a=adodc1.Recordset.RecordCount'写在窗体加载中
Private Sub Timer1_Timer()
if a<>adodc1.Recordset.RecordCount then '判断记录数是否变了
SQL = "select * from 数据库中的表名'"
Adodc1.RecordSource = SQL
Adodc1.Refresh
a=adodc1.Recordset.RecordCount
end if
End Sub
呵呵,想想看可行吧!
a=adodc1.Recordset.RecordCount'写在窗体加载中
Private Sub Timer1_Timer()
if a<>adodc1.Recordset.RecordCount then '判断记录数是否变了
SQL = "select * from 数据库中的表名'"
Adodc1.RecordSource = SQL
Adodc1.Refresh
a=adodc1.Recordset.RecordCount
end if
End Sub
呵呵,想想看可行吧!
追问
这适用于发生删除和添加的情况,如果只是单纯的更新一个数据recordcount也会发生改变吗?
追答
数据更新的话,不行,如果要考试数据更新的话,你可以这样!
数据更新的话肯定会按个按钮或命令的,我们可以在按钮上做一个标志,如按下保存键后PD=1
dim a as long'通用中定义
dim pd as integer '通用中定义
a=adodc1.Recordset.RecordCount'写在窗体加载中
Private Sub Timer1_Timer()
if aadodc1.Recordset.RecordCount or pd=1 then '判断记录数是否变了,是否按下了按钮
SQL = "select * from 数据库中的表名'"
Adodc1.RecordSource = SQL
Adodc1.Refresh
pd=0 '标志还原
a=adodc1.Recordset.RecordCount
end if
End Sub
展开全部
非常简单
在改变数据后,重新启动界面即可:
Unload Me
Form1.Show
在改变数据后,重新启动界面即可:
Unload Me
Form1.Show
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
增加一个Timer控件,并且InterVal设置一个数字
Private Sub Timer1_Timer()
SQL = "select * from 数据库中的表名'"
Adodc1.RecordSource = SQL
Adodc1.Refresh
End Sub
Private Sub Timer1_Timer()
SQL = "select * from 数据库中的表名'"
Adodc1.RecordSource = SQL
Adodc1.Refresh
End Sub
追问
这种方法就是刷新,可是如果数据很多 那我怎么知道有没有数据更新了呢?总不能一个个的去对比吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、客户服务端模式:客户端提交的数据由服务端写入数据库,当数据库发生变化的时候,服务端通知客户端。
2、时间戳方式:每条记录或则每个表都用时间戳来标记,客户端定时检测时间戳是否和已经得到的数据相符,不符合则更新客户端数据。
2、时间戳方式:每条记录或则每个表都用时间戳来标记,客户端定时检测时间戳是否和已经得到的数据相符,不符合则更新客户端数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您是指已经显示的数据还是 内存中的记录集啊 记录集的话 选动态记录集就可以了
还有方式是数据库建触发器,定时查
还有方式是数据库建触发器,定时查
追问
定时查,那如果有更新呢?我的意思是如果数据很多,我怎么知道他更新了没呢?有没什么方法可以让我知道他更新了呢?
追答
仅供参考,呵呵
1、在客户端做个类似消息处理的函数function1,
2、把每一个你在用的记录,例如显示各户信息的窗口form1已打开用到了X表的记录,你用的查询存在数组里,数组还包括X表的名字和,发生时间等信息
3、在数据库建个表table1,如果在某一个客户端对X表发生了增删改,那么在该表中建立信息,记录该X表最新的更新时间。
在客户端定时定期做function1,一旦比较处客户端的用到的该表已经比在table1中的旧时,就通知form1更新数据,否则不需要。
检查更新可以是针对表的,也可以是针对表里面的每条记录。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |