无法在sql-server中将varchar转换为int

问题描述 投票:-3回答:1

在此图中,我创建了一个存储过程。当我搜索类似1000的发票编号时,查询将运行,但是当我搜索客户名称时,错误提示无法将varchar转换为int错误显示在图片中。

enter image description here

也请向我展示完整的代码解决方案,而不是该解决方案的其他链接

enter image description here

sql-server stored-procedures
1个回答
0
投票

您的exec spGetRecord 'Tony Hawks'语句正在将名称传递到存储过程的第一个参数中。这等效于编写exec spGetRecord @InvoiceNum = 'Tony Hawks',因此SQL Server抱怨它无法将“ Tony Hawks”强制转换为int。

您可以指定参数:exec spGetRecord @Name = 'Tony Hawks'(或执行@John Wu在注释中建议的操作,以使名称成为第二个位置参数)。

© www.soinside.com 2019 - 2024. All rights reserved.