数据库不更新

时间:2022-09-21 17:24:32
我用ado调用access数据库,一边更新数据,一边显示,可是总等到下一次更新数据时才显示出来,要不然就显示原来的数据,真实奇怪

9 个解决方案

#1


贴出代码段
你更新数据和显示数据是同一个线程吗?

#2


我听说用了pConnection->CommitTrans();以后就可以更新了,但是总是出错,这条语句应该放在什么地方呢?

#3


是同一对话框中的两个函数

#4


你给出的语句用于事务处理

pConnection->BeginTrans();
//你的更新操作
//中间有错可以回滚
pConnection->RollbackTrans(); 

pConnection->CommitTrans();//提交事务
....
//显示数据

#5


pdb.m_pConnection->BeginTrans();
 
pdb.m_pRecordset->PutCollect("chengji.id",_variant_t(m_chenge1));
pdb.m_pRecordset->PutCollect("chengji.zhunid",_variant_t(m_chenge2));
pdb.m_pRecordset->PutCollect("education",_variant_t((long)(m_chenge4)));
pdb.m_pRecordset->PutCollect("pspchology",_variant_t((long)(m_chenge5)));
pdb.m_pRecordset->Update();
pdb.m_pConnection->RollbackTrans();
pdb.m_pConnection->CommitTrans();

时这样用吗?不行呀,还是出错

#6


pdb.m_pConnection->RollbackTrans();
这一句别加啊!晕,这是回滚事务的,你更新出错才用!

#7


to bohut(伯虎) :
问题解决了,谢谢了

#8


如果不需要事务处理,有别的办法吗?

#9


ADO有缓存功能,你不committrans他就缓存你的操作到存到足够多才一次提交上去,记得有个flush的函数??

#1


贴出代码段
你更新数据和显示数据是同一个线程吗?

#2


我听说用了pConnection->CommitTrans();以后就可以更新了,但是总是出错,这条语句应该放在什么地方呢?

#3


是同一对话框中的两个函数

#4


你给出的语句用于事务处理

pConnection->BeginTrans();
//你的更新操作
//中间有错可以回滚
pConnection->RollbackTrans(); 

pConnection->CommitTrans();//提交事务
....
//显示数据

#5


pdb.m_pConnection->BeginTrans();
 
pdb.m_pRecordset->PutCollect("chengji.id",_variant_t(m_chenge1));
pdb.m_pRecordset->PutCollect("chengji.zhunid",_variant_t(m_chenge2));
pdb.m_pRecordset->PutCollect("education",_variant_t((long)(m_chenge4)));
pdb.m_pRecordset->PutCollect("pspchology",_variant_t((long)(m_chenge5)));
pdb.m_pRecordset->Update();
pdb.m_pConnection->RollbackTrans();
pdb.m_pConnection->CommitTrans();

时这样用吗?不行呀,还是出错

#6


pdb.m_pConnection->RollbackTrans();
这一句别加啊!晕,这是回滚事务的,你更新出错才用!

#7


to bohut(伯虎) :
问题解决了,谢谢了

#8


如果不需要事务处理,有别的办法吗?

#9


ADO有缓存功能,你不committrans他就缓存你的操作到存到足够多才一次提交上去,记得有个flush的函数??