一个怪事,整个COM+包死掉!(100分)

  • 主题发起人 主题发起人 Dephic
  • 开始时间 开始时间
D

Dephic

Unregistered / Unconfirmed
GUEST, unregistred user!
情况是这样的:
一个COM+包里面有COM+控件A,当我第一次调用A的一个接口函数时,COM+包开始转动(处于运行状态),
接口函数调用成功;但当我再次调用A的同一接口函数时,COM+包却停止转动(死了?还是什么回事?),
调用过程失败,当我再次调用同一接口时,COM+包又开始转动!调用接口函数成功!如此重复下去!
隔一次死一次,谁知道什么原因,我。。。。百般感激!
 
你不会用Delphi4吧?
 
还好,问题已经解决了!
原来我是把两块(查询,操作)放在同一个COM+控件中,今天早上我把其分开成
两个COM+控件就OK了!
不过这分怎么解决呢?
这样吧!哪位进来看了,留下话,待下次我上来时每人分一份,算是报答大家的关心!
多谢各位!
 
有个问题:
查询和操作分开后是否还控制了数据库的数据冲突问题?是将数据问题交个DBMS了吗?
对小型数据库有没有影响呢?
 
另一问题!麻烦诸位了!
是这样的:
在sqlserver里我对一个表写了触发器(delete):
。。。。
IF ((SELECT A.ID FROM Studentinfor AS A,Deleted AS B WHERE A.ClassNo = B.ClassNo ) > 0) OR
((SELECT A.ID FROM TeacherManage AS A,Deleted AS B WHERE A.ClassNo = B.ClassNo ) > 0)
--如果在学生和老师库中有引用此班级代码,则返回错误信息
begin

ROLLBACK TRAN
RAISERROR('该班级还有人(班主任或学生),无法删除记录.',16,10)
END
。。。。
我调试时(在COM+里)可以看到此错误信息,但我想得到它,并把其传送到IE上显示出来!如何才能得到此错误信息呢?
 
代码:
可以这样做:
1。在COM+中
try
.....
except
  [red]raise;[/red]end;
2。在Client中
try
,....
except
 on e:exceptiondo
  write(e.message);
end;
 
谢谢各位!
 
后退
顶部