我在vc中用ADO打开一个SQL server中的一个表,用Execute执行一个SQL语句更新这个表,而在vc中用Ado打开的表中的数据并没有变化!?

时间:2022-05-02 11:13:05
我在vc中用ADO打开一个SQL server中的一个表
record=open("table1",adCmdTable);

用Execute执行一个SQL语句更新这个表
execute("update table1 ...");

而在vc中用Ado的方法,检索record的数据是更新前的数据,
重新打开一次record才可以
怎么才能让它们一致?

在线等....

7 个解决方案

#1


自己先顶一下!

#2


up...

#3


_RecordsetPtr    pRst  = NULL;
pRst->Open("table1", 
            _variant_t((IDispatch *)pConnection,true), adOpenDynamic,
            adLockOptimistic, adCmdTable);
//pConnection是_ConnectionPtr对象

#4


我就是这样打开的
execute("delete ...")删除一条记录,在打开的那个recordset中还存在,
又不能经常刷新那个recordset怎么办啊?

#5


recordset.refresh()?

#6


不好意思,是Requery()

#7


谢谢楼上的,可是不允许刷新记录集。怎么办,记录集太大,刷新一下要2000ms太费时间

#1


自己先顶一下!

#2


up...

#3


_RecordsetPtr    pRst  = NULL;
pRst->Open("table1", 
            _variant_t((IDispatch *)pConnection,true), adOpenDynamic,
            adLockOptimistic, adCmdTable);
//pConnection是_ConnectionPtr对象

#4


我就是这样打开的
execute("delete ...")删除一条记录,在打开的那个recordset中还存在,
又不能经常刷新那个recordset怎么办啊?

#5


recordset.refresh()?

#6


不好意思,是Requery()

#7


谢谢楼上的,可是不允许刷新记录集。怎么办,记录集太大,刷新一下要2000ms太费时间