我正在从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))
);
用于从数据库中提取数据的方法,绑定到datagrid在底部:
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;