gpt4 book ai didi

c# - 为什么 System.Data.SQLite 总是从 bool 列的查询中返回 False?

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:42 25 4
gpt4 key购买 nike

这是我的代码:

        string sql = "SELECT * FROM rosters WHERE team_id = " + teamID;
SQLiteCommand command = new SQLiteCommand(sql, db.GetConnection());
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{

if ((bool)reader["in_lineup"])
{
lineup.Add(player);
}

}

我遇到的问题是最后一个 if 语句。 "in_lineup"是一个 bool 列,有些记录将其设置为 true,但从未输入 if 语句,reader["in_lineup"] 始终为 false。知道我做错了什么吗?

最佳答案

对于 bool 值,SQLite 似乎返回 0 或 1。 C#(与 C++ 不同)不会将整数转换为 bool 值。因此,重写测试可能会更好:

if ((bool)reader["in_lineup"])

作为

if((int)reader["in_lineup"] == 1)

关于c# - 为什么 System.Data.SQLite 总是从 bool 列的查询中返回 False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15192175/

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