你用的这个DBHelp的库我没用过。不清楚你这之间的Connection是一个什么样的关系。
比如你这里:Database db = DatabaseFactory.CreateDatabase(strStr); 
          DbConnection dbCon = db.CreateConnection(); 
        
得到了一个连接对象。
然后又:DbCommand dc = db.GetSqlStringCommand(sqlCommand); 
得到一个Command对象,这个对象是不是基于这个连接的???
在这里:
DbTransaction dtransaction = dbCon.BeginTransaction(); 
          dc.Transaction = dtransaction; 
你根据这个连接生成了一个事务,并且绑定到Command对象上,问题是:
事务所使用连接与Command所使用的连接是不是同一个???如果不是同一个可能会出问题,因为我不需要你的db.getSqlStringCommand函数能不能提供一个这样的重载:
db.GetSqlStringCommand(sqlCommand,dbCon);
如果可以的话你试试。