日期:2014-05-19  浏览次数:20369 次

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

------解决方案--------------------
可能是调用上的问题.
也可以是表中有触发器, 触发器报的错.
------解决方案--------------------
用print 插入重新建存储过程,查错
------解决方案--------------------
肯定是表里面其他的行的数据有问题
你查查
------解决方案--------------------
会不会是连接字符串的错误?在SQL里下面的情况是不行的:
'aaaa ' + @int --@int是整型数,SQL会试图把 'aaaa '转换成整型
要写成下面的样子:
'aaaa ' + cast(@int as varchar)
------解决方案--------------------
mssql是可以调试的,跟踪下就知道,这种问题一般不问人