【问题标题】:Retrieving a MySql Tinyint(1) data type into a .Net application将 MySql Tinyint(1) 数据类型检索到 .Net 应用程序中
【发布时间】:2013-04-13 20:26:14
【问题描述】:

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

【问题讨论】:

标签: c# mysql .net database


【解决方案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)。希望它可以帮助将来遇到相同情况的人。

【讨论】:

    猜你喜欢
    • 2012-06-10
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2015-07-11
    相关资源
    最近更新 更多