C# 执行SQL Server查询时出错

C# 执行SQL Server查询时出错,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我在一个存储过程中执行此查询:从[Employe]=@Name和Date=@Date的事务中选择前1个[Employe] 它应该返回一个雇员ID int。在我的应用程序ASP.NET C中,当我使用DataReader读取一行时,我会出现此错误: *将varchar值*转换为数据类型int时,转换失败* 具体是什么类型的*?我不想转换任何内容。我想您的@Name参数可能被指定为VARCHAR,但表中的Employe字段是INT字段 试试这个: SELECT TOP 1 [Employe] FRO

我在一个存储过程中执行此查询:从[Employe]=@Name和Date=@Date的事务中选择前1个[Employe]

它应该返回一个雇员ID int。在我的应用程序ASP.NET C中,当我使用DataReader读取一行时,我会出现此错误: *将varchar值*转换为数据类型int时,转换失败*

具体是什么类型的*?我不想转换任何内容。

我想您的@Name参数可能被指定为VARCHAR,但表中的Employe字段是INT字段

试试这个:

SELECT TOP 1 [Employe] FROM Transactions WHERE CAST([Employe] AS VARCHAR)=@Name AND Date=@Date

看起来你正在浏览员工专栏,我猜是varchar。我假设您要选择ID列


最有可能的情况是将@Name参数作为varchar传递,其中Employe字段是int字段

或者您可以尝试将Employe的结果值分配给int数据类型,然后您将看到此错误


请发布您的事务表定义和存储过程代码以进一步排除故障。

我想查看更多代码,请。过程的代码,以及执行DataReader的方式。Employe拼写正确吗?通常该错误显示正在使用的varchar值中包含的数据。在这种情况下,它认为a*存在的某个地方。我们可能需要更多的代码和数据库中的内容来正确地帮助解决这个问题。他可能还想在[Employe]喜欢Name和not=Name的地方进行操作,因为Name似乎也包含一个“*”谢谢你的回答!刚刚弄明白我的错误是什么:我在存储过程中将@Name参数声明为varchar,并在我的C代码中输入int I。N00b错误,我知道!
SELECT TOP 1 [ID] FROM Transactions WHERE [Employe]=@Name AND Date=@Date