如何让数据库变化时主动通知程序而不是用程序扫描

曹建峰-17年老猿 2003-12-22 09:44:14
我现在用的方法是程序周期扫描表,这样做效率很低,如何让数据库通知程序数据库发生了变化我用的是CDatabase CRecordset +sql server 2000,如果你用其他语言工具和数据库也欢迎你参与讨论,大家一起学习研究,一起进步提高嘛
...全文
180 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
IRowsetNotify这东西一直让我很郁闷,我原来就用的 然后在程序中每隔一定的时间检查这个值有没有改动。我说的扫表就是不停的检查一个表是不是空表。
AkiraChing 2003-12-23
  • 打赏
  • 举报
回复
感觉很复杂,能不能用触发器修改数据库中某个表的某个字段的值,然后在程序中每隔一定的时间检查这个值有没有改动,是不是就可以了,当然如果能有IRowsetNotify的使用方法更好
  • 打赏
  • 举报
回复
IRowset* pRowset;
IRowsetNotify *pRowsetNotify;
IRowset* pRowset;

DBREASON eReason;
DBEVENTPHASE ePhase;
BOOL bCantDeny;
if(S_OK==::IRow::QueryInterface(IID_IRow,ppvObject);
{
pRowset=(IRow*)*ppvObject;
::IRow::AddRef() ;
pRow.
::IRow::Release();
}
else
{
printf("Row fail")
return;
}
if(S_OK==::IRowsetNotify::QueryInterface(IID_IRowset,ppvObject);
{
pRowset=(IRowset *)*ppvObject;
::IRowset::AddRef() ;
pRowset->AddRefRows(
::IRowset::Release();
}
if(S_OK==::IRowsetNotify::QueryInterface(IID_IRowsetNotify,ppvObject);
{
pRowsetNotify=(IRowsetNotify *)*ppvObject;
::IRowsetNotify::AddRef() ;
pRowsetNotify->OnRowsetChange(pRowseteReason,ePhase,bCantDeny)
??????????????????????????????????????????????????????????
::IRowsetNotify::Release();
}
谁能告诉我怎么连接被检视的数据库,怎么用OnRowsetChange(
  • 打赏
  • 举报
回复
看来没有人会用irowset:(
  • 打赏
  • 举报
回复
谢谢面鱼先给你保留10分。剩下30分给详细描述IRowsetNotify使用方法的人,10分给其他有见识的参与者
spwnihao 2003-12-22
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2216/2216752.xml?temp=.2887842

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧