我正在使用 MySQL Connector/Net v.6.6.5 将数据从远程 MySql 数据库提取到我的 .Net 应用程序中。从 MySql 数据库中读取的列之一是包含 0-5 值的 tinyint(1) 数据类型。问题是连接器将此列类型读取为 bool (true/false) 而不是 int。因此,所有大于 0 的值都返回为 1。这是个大问题。我没有更改数据库列的奢侈。
最佳答案
以下是我最终使用的解决方案。我最初的查询是:
SELECT tinyint_column FROM table_with_a_tinyint
使用 MySql.data.dll 驱动程序返回 TRUE 或 FALSE,这可以很容易地转换为 1 或 0。但是从 tinyint(1) 列读取的数据包含 0-5。通过将查询编辑为以下内容,我能够提取正确的值:
SELECT (tinyint_column+0) FROM table_with_a_tinyint
这从 MySql tinyint 列中产生了正确的值 (0-5)。希望它能帮助将来遇到同样情况的人。
关于c# - 将 MySql Tinyint(1) 数据类型检索到 .Net 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15992537/