![](/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.