如何在DELPHI中获得INTERBASE返回的SQLCODE?(50分)

  • 主题发起人 主题发起人 bigbug
  • 开始时间 开始时间
B

bigbug

Unregistered / Unconfirmed
GUEST, unregistred user!
我用QUERY控件EXECSQL一条SQL命令,之后我想读取SQLCODE来验证,不知DELPHI是如何读
取SQLCODE
 
EDBEngineError.Errors.NativeError
 
使用InterBaseExpress与使用BDE是不同的。
 
try
que.ExecSQL;
except
on c:edatabaseerror do showmessage('SQL语句出错'+c.message);
end;
我程序中的一部分,
 
dedman的作法是捕获异常.是bigbug所要的吗?我不懂INTERBASE.
 
我的意思是这样的,我在EXECSQL了一条SQL之后,想在程序中获得SQLCODE的返回码,
通过判断返回码的值,作出不同的响应,而不仅仅是显示E.MESSAGE。
另外,我还有一个问题,IBX控件组虽然是针对INTERBASE的,它绕过了ODBC和BDE,但我怎么
感觉它的效率还不如TQUERY+TDATABASE+BDE,而且连UPDATEMODE都没法改变,好象是强制使
用UPWHEREALL方式,TIBQUERY的CACHEDUPDATE属性虽然默认为FALSE,但实际使用中,
我用下面两条语句刷新
IBQUERY1.CLOSE ;
IBQUERY1.OPEN ;

我修改的记录就是没法直接提交,其他用户的修改我也看不到,只有再加两条:
IBINTERBASE1.CLOSE ;
IBINTERBASE1.OPEN ;
IBQUERY1.CLOSE ;
IBQUERY1.OPEN ;
才能有效刷新,但这太荒唐了,因为连接管道不断的断开,重连接,网络效率低不可言,根本
就不象是专为INTERBASE设计的控件,或者是我没有真正掌握IBX的功能???? :-<
 
see the bde.pas.
 
咳!!咳!!怎么回事,我的问题太难了么,为什么??????快回答我!!!!!
#$!^$#^&amp;%$%&amp;*%((*^*^
 
BDE 的API!!
 
see the bde.pas.

 
to kerrigan: 我找到了DbiGetErrorContext和DbiGetErrorInfo!!!是不是它?
to 王宁: 你说的bde.pas在哪了,我把硬盘翻遍了也没找到,请告诉我。
 
接受答案了.
 
后退
顶部