这很奇怪。我的 c# 应用程序中有一个非常简单的 SQL 查询,它计算 SQL Server 表中的记录。代码片段如下:
// Returns the number of ports defined for a given slot.
int returnval = 0;
connection.Open();
SqlCommand command = new SqlCommand("SELECT COUNT(Slotted_Port_UID) FROM tblSlottedCardPorts WHERE Slot_ID = @SlotID ", connection);
command.Parameters.AddWithValue("@SlotID", EquipmentSlotID);
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
if (!reader.IsDBNull(0))
{
returnval = reader.GetInt32(0);
}
}
reader.Close();
connection.Close();
return returnval;
当我将 SQL 语句直接复制并粘贴到 SQL server mgmt studio 中时,查询按预期返回,返回 0 或正整数,具体取决于行数。但是,尽管代码通过了 .HawRows 条件,但它在 reader.IsDBNull(0) 条件下失败。tblSlottedCardPorts 存在,Slotted_Port_UID 列是唯一整数。对此有何建议?我不明白为什么 COUNT 会返回 Null 值,因为不涉及连接或其他因素。
感谢您对此的任何建议!
米切尔