我有以下代码:
SqlCommand cmd2 = new SqlCommand(
"SELECT ClaimId FROM tblPayment WHERE PaymentId = " + PaymentID.ToString(),
mvarDBConn);
SqlDataReader reader = cmd2.ExecuteReader();
reader.Read();
Int32 ClaimId = reader.GetInt32(0);
reader.Close();
如果我在 SQL 中运行 SELECT 语句,它返回的数字很好,但是当我使用 ExecuteReader 时,它返回的都是 0。我尝试了多种方法,包括 ExecuteScalar、ExecuteNonQuery、reader.GetString 然后将其转换为 int 等。
我错过了什么?谢谢。
编辑:这是我在 SQL Server 配置文件中得到的:
这是我回来的:
exec sp_executesql N'SELECT ClaimId FROM tblPayment WHERE PaymentId = @paymentID',N'@paymentID nvarchar(5)',@paymentID=N'8392'
不知道为什么当我之前的 SqlCommand 直接进入 SQL 时将它放入 SP_ExecuteSQL,与“N”相同。