【发布时间】:2020-02-29 16:43:38
【问题描述】:
我正在从 SQLite 数据库用 c# 填充数据网格,但 SQLite 数据库没有真正的布尔值,所以我创建了一个 SQLite INTEGER 字段并检查以确保它是 0 或 1。而不是显示 0或数据网格中的 1,我想显示是/否。 1=是,0=否。我希望数据库中的数据保持不变,只需更改向用户显示的内容即可。现在填表的sql语句很简单:
SELECT * FROM TABLE1
实现这一目标的最佳方法是什么?谢谢你。
编辑: 有问题的字段是“受伤”字段。 表架构:
CREATE TABLE "SmashRoster" (
"SmashRosterID" INTEGER PRIMARY KEY AUTOINCREMENT,
"CharacterName" TEXT NOT NULL,
"TotalTournaments" INTEGER NOT NULL,
"Wins" INTEGER NOT NULL,
"Losses" INTEGER NOT NULL,
"Championships" INTEGER NOT NULL,
"InjuriesCaused" INTEGER NOT NULL,
"Injured" INTEGER NOT NULL DEFAULT 0 CHECK(Injured IN (0,1))
);
用于从数据库中拉取数据的方法,绑定到数据网格在底部:
SQLiteConnection cnn = new SQLiteConnection(@"Data
Source=C:\SQLiteDB\SQLiteDB.db;Version=3;");
SQLiteCommand cmd;
SQLiteDataReader dataReader;
DataTable roster;
cnn.Open();
cmd = new SQLiteCommand(@"SELECT * FROM SmashRoster", cnn);
roster = new DataTable();
dataReader = cmd.ExecuteReader();
roster.Load(dataReader);
dataReader.Close();
cmd.Dispose();
cnn.Dispose();
rosterGridView.DataSource = roster;
【问题讨论】:
标签: c# winforms sqlite datagridview boolean