2

我正在使用 MySQL Connector/Net v.6.6.5 将数据从远程 MySql 数据库中提取到我的 .Net 应用程序中。从 MySql 数据库中读取的列之一是 tinyint(1) 数据类型,其中包含 0-5 的值。问题是连接器将此列类型读取为 bool (true/false) 而不是 int。因此,所有大于 0 的值都作为 1 返回。这是个大问题。我没有更改数据库列的奢侈。

4

1 回答 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 回答