华
华健
Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥!
小弟近日做一个项目时,碰到一个非常奇怪的问题,表述如下:
我用Access 2000建立一个数据库,库中有一个表为Logs,用于记录用户登录的信息。
其中有字段ID(自动编号),LogTime(日期/时间)...几个字段。
我想建立一个COM+对象,用于记录所有用户对系统的操作。
建立一个“需要新事务”的COM+数据模块,放置ADOConnection及ADODataSet以连接到
Access 2000数据库。
建立一个方法WriteLog来将信息写入数据库。此方法接受几个WideString类型的参数。
try
...
ADODataSet1.Active:=true;
ADODataSet1.Insert;
ADODataSet1.FieldByName('LogTime').Value:=第一个参数;
...
ADODataSet1.Post
SetComplete;
except
SetAbort;
end;
这样应该没有问题。但不管传入什么数据,事务总是被取消。
如果我用ADOConnection连接MS Sql Server 7中相同结构的表,则上述方法能够正确完成!
我用一个只接受一个Variant参数vResult的方法来进行测试:
try
ADODataSet1.Active:=true;
SetComplete;
vResult:='Complete';
except
SetAbort;
vResult:='Abort';
end;
在客户端调用返回为'Abort';但在设计时可设ADODataSet的Active为True.
我百思不得其解!
哪位大哥帮帮忙?告诉小弟是为什么?
ps6(up 1) + MDAC2.6 + jet4SP5
小弟近日做一个项目时,碰到一个非常奇怪的问题,表述如下:
我用Access 2000建立一个数据库,库中有一个表为Logs,用于记录用户登录的信息。
其中有字段ID(自动编号),LogTime(日期/时间)...几个字段。
我想建立一个COM+对象,用于记录所有用户对系统的操作。
建立一个“需要新事务”的COM+数据模块,放置ADOConnection及ADODataSet以连接到
Access 2000数据库。
建立一个方法WriteLog来将信息写入数据库。此方法接受几个WideString类型的参数。
try
...
ADODataSet1.Active:=true;
ADODataSet1.Insert;
ADODataSet1.FieldByName('LogTime').Value:=第一个参数;
...
ADODataSet1.Post
SetComplete;
except
SetAbort;
end;
这样应该没有问题。但不管传入什么数据,事务总是被取消。
如果我用ADOConnection连接MS Sql Server 7中相同结构的表,则上述方法能够正确完成!
我用一个只接受一个Variant参数vResult的方法来进行测试:
try
ADODataSet1.Active:=true;
SetComplete;
vResult:='Complete';
except
SetAbort;
vResult:='Abort';
end;
在客户端调用返回为'Abort';但在设计时可设ADODataSet的Active为True.
我百思不得其解!
哪位大哥帮帮忙?告诉小弟是为什么?
ps6(up 1) + MDAC2.6 + jet4SP5