gpt4 book ai didi

C# SqlCeDataReader rdata 字段计数

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:55 25 4
gpt4 key购买 nike

我试图查看数据库中是否存在 ID,在本例中为 vetID。

要查看 SQL 查询的结果是否成功,我正在尝试使用 rdata.FieldCount

FieldCount 似乎总是返回 11,即使输入 ID(变量 i)= -400(数据库中不存在的 ID 号)也是如此。我也尝试过其他不可能的数字,例如 100 或 800(数据库中只有 1 - 5 个项目)

var mySQLCommand = new SqlCeCommand("SELECT * FROM vets WHERE vetID = @ID", dbCon);
mySQLCommand.Parameters.AddWithValue("ID", i);
SqlCeDataReader rdata = mySQLCommand.ExecuteReader();
if (rdata.FieldCount >= 1)
{
MessageBox.Show(" HAS ROWS "); go = true;
}
else
{
MessageBox.Show("NO ROWS RETURNED");
}
MessageBox.Show("rdata FieldCount " + rdata.FieldCount + " i has value " + i);

有没有更优雅的方法来检查一个 ID 在数据库中是否仍然有效并且没有被删除?

好的..在你叫我笨蛋之前...我猜 FieldCount 正是 FieldCount 而不是返回查询的 FieldCount ...doh...

但问题仍然存在,是否有一种优雅的方法可以知道 ID 是否仍然存在于数据库中?

最佳答案

FieldCount 总是返回 11,因为(我假设)表中有 11 列。

更好的方法是:

var sql = new SqlCeCommand("select top 1 vetid from vets where vetid = @id", dbCon);
sql.Paramaters.AddWithValue("id", i);
if (null != mySqlCommand.ExecuteScalar())
{
// ID exists
}

关于C# SqlCeDataReader rdata 字段计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6246786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com