我正在使用 MySQL Connector/Net v.6.6.5 将数据从远程 MySql 数据库中提取到我的 .Net 应用程序中。从 MySql 数据库中读取的列之一是 tinyint(1) 数据类型,其中包含 0-5 的值。问题是连接器将此列类型读取为 bool (true/false) 而不是 int。因此,所有大于 0 的值都作为 1 返回。这是个大问题。我没有更改数据库列的奢侈。
问问题
2700 次
1 回答
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)。希望它可以帮助将来遇到相同情况的人。
于 2013-04-14T15:19:40.007 回答