提几个简单问题 ( 积分: 100 )

  • 主题发起人 主题发起人 kid
  • 开始时间 开始时间
K

kid

Unregistered / Unconfirmed
GUEST, unregistred user!
1、Delphi中可以通过Install COM+ Objects将MTS/COM+对象加入到MTS/COM+套件中,但是用什么方法可以将没用的MTS/COM+对象从套件中移除?
2、创建MTS/COM+对象时选择了支持事务,现在想改为需要事务,怎么改?
3、在什么情况下更新数据错误,返回未成功更新的记录中的字段的CurValue有值
 
1、Delphi中可以通过Install COM+ Objects将MTS/COM+对象加入到MTS/COM+套件中,但是用什么方法可以将没用的MTS/COM+对象从套件中移除?
2、创建MTS/COM+对象时选择了支持事务,现在想改为需要事务,怎么改?
3、在什么情况下更新数据错误,返回未成功更新的记录中的字段的CurValue有值
 
帮忙一下,提前!呵呵,学习中,请大虾们帮帮忙!
 
刚接触,虚心受教
 
1.可以在控制面板里面的组件服务里面管理COM+对象。
2.可以在Delphi的View/type Library里面控制COM+对象对事务的支持。
3.没明白什么意思。
 
to jennykiller:多谢,1、2问题解决了。第3个问题是:客户端clientdataset更新数据,如果出现更新错误(比如:记录在修改并保存回数据库前已被其他客户修改,这样数据更新时就会出现错误:找不到原记录或记录已被其他用户修改),按李维书上说的,返回的数据包应包含原记录内容、修改的内容、和现在数据库里当前记录内容。并且通过Field的OldValue、NewValue、CurValue这个三个属性就可以得相应的原记录内容、修改的内容、和现在数据库里当前记录内容。但我试了好多,CurValue值始终为空。我是在clientdataset的OnReconcileError事件中处理,代码如下:
procedure TForm1.ClientDataSet1ReconcileError(
DataSet: TCustomClientDataSet;
E: EReconcileError;
UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
edt_OldValue.Text:=dataset.FieldByName('name').OldValue;
edt_NewValue.Text:=dataset.FieldByName('name').NewValue;
edt_CurValue.Text:=dataset.FieldByName('name').CurValue;
end;

我的程序实际是想实现:一个客户修改记录出现这样的错误时,除了能返回出错的原因,并且还能返回数据库里当前最新的记录显示在客户端界面。
 
后退
顶部