多层分布式中如何使用存储过程和事务?(20分)

  • 主题发起人 主题发起人 七小对
  • 开始时间 开始时间

七小对

Unregistered / Unconfirmed
GUEST, unregistred user!
例,我想在客户端调用数据库服务器的存储过程,该怎么办呢?
 
通过Dcom连接服务器的存储过程.用存储过程,还不如用事务来管理,更方便,容易跟踪。
 
那如何为存储过程赋参数值呢(在客户端)?
在客户端又是怎么执行事务的呢?(最好有代码看看).
 
_GET_STOCK = 'execute SearchStore ''%s'',''%s'',''%s'',''%s'',''%s''';
clientDataSet1.close();
ClientDataSet1.CommandText := Format(_GET_EXITGOODS, [sDate, eDate, '', CK, sql, inttostr(RadioGroup5.ItemIndex - 2)]);
clientdataset1.open()
 
上面的是存储过程
至于事务吗?
在中间层处理就可以了
 
谢谢,能不能解释一下第三行?
 
存储过程搞出来了.可事务却还悬着.
小弟在应用层定义了接口方法,如下,在客户端调用时却不能更新回数据库,
1.请各位帮忙看看是怎么回事?
2.请各位指点一下应该怎么写事务比较好,麻烦了。
procedure Txsm100.turnmoney(var name1, name2, money: OleVariant);
begin
with ADOConnection2do
begin
try
begin
trans;
with ADOQuery1do
begin
close;
sql.clear;
sql.add('updata xsm2 set money=money-'+money+' where name like %'+name1+'%');
active:=true;
close;
sql.Clear;
sql.add('updata xsm2 set money=money+'+money+' where name like %'+name2+'%');
active:=true;
end;
showmessage('事务执行成功!');
committrans;
except
rollbacktrans;
showmessage('事务执行失败!');
exit;
end;
end;
end;
其中有表xsm2(name,money);
 
谢谢.可我的事务还是不会弄.
 
谢谢各位了!
 
后退
顶部