![](/img/trans.png)
[英]Conversion failed when converting the nvarchar value 'Part 1' to data type int
[英]Conversion failed - nvarchar value to data type int
我有以下sql存储过程,但是c#代码通过以下消息捕获了异常:
Conversion failed when converting the nvarchar value to data type int
SQL存储过程
@byTestType int
AS
DECLARE @qry nvarchar(3000)
IF @byTestType = 4
BEGIN
SET @qry = 'SELECT * FROM aTbl ORDER BY aCol'
END
ELSE
BEGIN
SET @qry = 'SELECT * FROM aTbl WHERE aCol= '
SET @qry = @qry +''''+CAST(@byTestType as varchar(3))+''''
END
EXEC sp_executesql @qry
aCol数据类型为varchar(3)
不明白是什么问题!
我做了一些研究并修改了您的演示
DECLARE @byTestType int = 1200
DECLARE @qry nvarchar(3000)
IF @byTestType = 4
BEGIN
SET @qry = 'SELECT * FROM aTbl ORDER BY aCol'
END
ELSE
BEGIN
SET @qry = 'SELECT * FROM aTbl WHERE aCol= '
SET @qry = @qry +''''+CAST(@byTestType as varchar(3))+''''
END
print @qry
有趣的是,输出为:
SELECT * FROM aTbl WHERE aCol ='*'
请修改您的行
SET @qry = @qry +''''+CAST(@byTestType as nvarchar)+''''
请同时注意以下情况
DECLARE @byTestType int = NULL
在这种情况下,您的@qry将为NULL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.