把一个string类型的值传到存储过程里,定义的为varchar类型,但运行存储过程时却报错说varchar类型不能转化为int型,但在表结构里也是varchar型,并且只执行select语句可以查出数据,这是怎么回事啊

解决方案 »

  1.   

    用print 插入重新建存储过程,查错
      

  2.   

    会不会是连接字符串的错误?在SQL里下面的情况是不行的:
    'aaaa' + @int   --@int是整型数,SQL会试图把'aaaa'转换成整型
    要写成下面的样子:
    'aaaa' + cast(@int as varchar)
      

  3.   

    找出问题了,是在另一处判断的地方弄成int型了,谢谢大家
      

  4.   

    mssql是可以调试的,跟踪下就知道,这种问题一般不问人