///////////////////////sybase代码///////////
   CREATE PROCEDURE dbo.new_insert_qxbidinfo 

        @aaa varchar(30), 
        @bbb varchar(10), 

As 
Begin
     declare @p_bid_money numeric
     select  @p_water_no=0 
     select  @p_success=-1 
     //////
     return
End
我存储过程什么都没做,我只是想把空值传进去,而delphi却报错!
//////////////////////delph6代码/////////////////////
            storedproc1.Close;
            storedproc.Params[0].AsString:=' ';///中间多个空格
            storedproc.Params[1].AsString:='';////出错的参数             
            storedproc.ExecProc;
dephi6+sybase11,存储过程为什么不能传空值?如果是第1个参数的值去掉空格,就会报第1个错误,加了空格就报第2个错(因为第2个同样没加空格),都加空格则顺利执行,错误如下:
但我现在想把''值传进去,咋办:Exception...
  Date   : 07/19/2004 18:18:57
  Address: 0048CF5D
  Module : Project1.exe
  Type   : EDBEngineError
  Message: General SQL error.  [INTERSOLV][ODBC SQL Server driver]Character, decimal, and binary parameters cannot have a precision of zero.  Error in  parameter 2.

解决方案 »

  1.   

    你把这句话去掉怎么样?
                storedproc.Params[1].AsString:='';////出错的参数
      

  2.   

    去掉当然就对了,但是我现在想把''(中间没有空格)写到数据库去,也就是把''传给@aaa,存储过程的insert语句暂时被我省略了,因为现在在排错。
      

  3.   

    可能是ODBC造成的,把ODBC连接改成BDE连接就可以了