直联sybase执行sql语句与通过ado执行的结果为什么不一样
本人用delphi做了个程序,用ado连接sybase。
在正常情况下,在程序中执行一条插入语句语句与直接在sql Advantage中执行的结果一样。
当插入的数据中的一栏为负时,将执行一条触发器,往另外的表中写数据。
这时问题就出现了,使用程序执行时,报错。而在sql Advantage中直接执行就没问题。
该条触发器调入一存储过程,在存储过程中,往另外的表(表2)中插入记录。
这时使用程序执行时就报“Attempt to insert NULL value into column 'XM_DM'”的错误,在存储过程中插入表2前有if @xm_dm = null begin if(...)xm_dm='55' else xm_dm= '11' end ;
为什么使用程序执行的时候会报null的错误呢。
给出出主意,我该怎么办?