标题:c#调用vfp数据库难道不支持事务回滚?
只看楼主
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
 问题点数:0 回复次数:1 
c#调用vfp数据库难道不支持事务回滚?
transaction.Rollback();

两条记录,第一条已经执行了,第二条出错执行了回滚,但是并没有真正的回滚,导致第一条已向vfp库中保存无法撤销。

在access数据中没有问题,难道vfp不支持事务回滚?!!!各位高手赐教啊!
搜索更多相关主题的帖子: 事务 数据库 vfp 
2009-09-14 19:50
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
忘了把代码贴上来了
在access或sql均能实现回滚,唯独vfp的dbf数据库不行,运行当中也没报错,也执行了rollback(),可是没起到作用....  
 
string ole_connstring = @"Provider=VFPOLEDB.1;Data Source=C:\VfpSw\VfpSw\bin\Debug;";  
OleDbConnection myConnection = new OleDbConnection(ole_connstring);  
myConnection.Open();  
OleDbCommand myCommand = myConnection.CreateCommand();  
OleDbTransaction myTrans;  
myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);  
myCommand.Connection = myConnection;  
myCommand.Transaction = myTrans;  
try  
{  
= "insert into test1 (www) value('123')";  
myCommand.ExecuteNonQuery();  
 
= "insert into test2 (nnn) value(000)";  
myCommand.ExecuteNonQuery();  
();  
 
}  
catch (Exception eee)  
{  
myTrans.Rollback();  
MessageBox.Show(eee.ToString());  
}  
 
 
第二条执行语句我故意写错:"insert into test2 (nnn) value(000)"; 运行出错,执行回滚。
 
结果第一条执行后并没回滚,一样插入记录到test1中....  

2009-09-15 11:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-285736-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.898672 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved