原贴http://community.csdn.net/Expert/topic/5572/5572477.xml?temp=.1704218
刚才查询的时候那个 like 总是出错
后来发现
Create Procedure zWebPayOrder_Search(@agentID int, @bank nvarchar, @bankNo nvarchar, @payOrderID nvarchar, @AllTicketPrice decimal, @count int)
@bank nvarchar, @bankNo nvarchar, @payOrderID nvarchar
要改为
@bank nvarchar(50), @bankNo nvarchar(50), @payOrderID nvarchar(50)现在问:什么时候声明变量的时候要用到(size)
还有我刚才的存储过程那个返回值Count总是为2 不对要怎么改

解决方案 »

  1.   

    对于变长 varchar,不指定长度,默认为1,赋给它大于这个长度会自动截去,如
    DECLARE @str varchar
    SET @str = '0123456789'
    PRINT @str -- 输出 0
      

  2.   

    错误指正.对于.net定义的存储过程参数而言才是没有定义大小,就按数据库的最大值 计算.
    存储过程里 是要根据 需要的 类型长度 定义大小的.
      

  3.   

    除了datetime,int,bit,image,text类型外其他的基本上最好写上size
      

  4.   

    还有我刚才的存储过程那个返回值Count总是为2 不对要怎么改
    大家再看看我的存储过程返回值
    Count 总是为 2 而不是查询出来的记录数
      

  5.   

    闄や簡datetime,int,bit,image,text绫诲瀷澶栧叾浠栫殑鍩烘湰涓婃渶濂藉啓涓妔ize
    ============================================================
    yCreate Procedure zWebPayOrder_Search(@agentID int, @bank nvarchar, @bankNo nvarchar, @payOrderID nvarchar, @AllTicketPrice decimal, @count int)
    ==============================================================
    Create Procedure zWebPayOrder_Search(@agentID int, @bank nvarchar(50), @bankNo nvarchar(50), @payOrderID nvarchar(50), @AllTicketPrice decimal
     @count int output)
      

  6.   

    注意@Count变量,是out参数,还是return 的参数???
      

  7.   

    什么时候声明变量的时候要用到(size)
    ------------------------------------
    凡是字符类型的就应该指定大小,就像你create一个表,字符类型的你能不指定大小吗