delphi 7
cxgrid
ADOStoredProc1
储存过程如下:
set xact_abort on
 begin tran
  begin
    if exists (select * from seiko_2010.dbo.composing where 客户品番=@clientpo and 部品编码=@bpbm)
      begin
         set @ax=@ax+1
         rollback tran
         return
      end
   insert into seiko_2010.dbo.composing(客户名称,客户品番,部品编码,部品名称,部品个数,部品单位,添加人员,添加时间,备注)
                                                    values(@clientname,@clientpo,@bpbm,@bpmc,@bpgs,@bpdw,@tjry,@tjsj,@bz)
     if @@error<>0 
        begin
          set @err=@err+1
          rollback tran
          return
       end
commit tran
 end
   select  * from seiko_2010.dbo.composing where 客户品番=@clientname order by id
GO
在ADOStoredProc1中使用 ExecProc或 Open,select  * from seiko_2010.dbo.composing where 客户品番=@clientname order by id都不能反回结果集.

解决方案 »

  1.   

    insert數據庫時有數據嗎?傳的參數正確與否??print一下看下每一步執行的結果集
      

  2.   

    就是cxgrid中不显示最后select的内容.
      

  3.   

    mssql支持一个sql里写很多句
    我经常
    insert ...
    或update ...
    select @@rowcount as fret这样就可以通过返回的记录集得到生效的行数了
      

  4.   

    改用adoquery吧,用open,adoquery的sql的text属性设置为exec 存储过程名 参数1的值,参数2的值...