用ADO连接SQLServer数据库,开发平台为VB6.0.
我想用一个事务实现多个表数据插入,如下所示:
cnn.BeginTrans 'cnn是一个全局的ADO.Connection对象
If DJInsStr <> "" Then cnn.Execute (DJInsStr)
If BGInsStr <> "" Then cnn.Execute (BGInsStr)
If ZBInsStr <> "" Then cnn.Execute (ZBInsStr)
cnn.CommitTrans
但运行时候,出现错误:
err.Number :-2147467259
err.Description :不能在手动或分布事务方式下创建新的连接。
插入语句串,没有问题,并且只要我不加事务就没问题...请问是怎么回事,我初学..如果犯了些常识型的错误还请大家别见笑.谢谢了.
我想用一个事务实现多个表数据插入,如下所示:
cnn.BeginTrans 'cnn是一个全局的ADO.Connection对象
If DJInsStr <> "" Then cnn.Execute (DJInsStr)
If BGInsStr <> "" Then cnn.Execute (BGInsStr)
If ZBInsStr <> "" Then cnn.Execute (ZBInsStr)
cnn.CommitTrans
但运行时候,出现错误:
err.Number :-2147467259
err.Description :不能在手动或分布事务方式下创建新的连接。
插入语句串,没有问题,并且只要我不加事务就没问题...请问是怎么回事,我初学..如果犯了些常识型的错误还请大家别见笑.谢谢了.
Public Const DB_CONNSTR= "Provider=SQLOLEDB;server=GEO;database=KCCLDB;uid=KCCLDB;pwd=123456"
全局连接对象Cnn在系统初始化时,打开:
cnn.open DB_CONNSTR
然后系统中所有的数据库操作,都是通过cnn.execute(SqlStr)执行。
请问,我的问题是怎么回事情?
cnn.BeginTrans
cnn.Execute (DJInsStr)
cnn.Execute (BGInsStr)
cnn.Execute (ZBInsStr)
cnn.CommitTrans
set cmd = new adodb.command
cmd.ActiveConnection = cnn
cnn.BeginTrans
If DJInsStr <> "" Then cmd.Execute (DJInsStr)
If BGInsStr <> "" Then cmd.Execute (BGInsStr)
If ZBInsStr <> "" Then cmd.Execute (ZBInsStr)
cnn.CommitTrans