C# 正在将MySql Tinyint(1)数据类型检索到.Net应用程序中

C# 正在将MySql Tinyint(1)数据类型检索到.Net应用程序中,c#,mysql,.net,database,C#,Mysql,.net,Database,我正在使用MySQL Connector/NETV.6.6.5将数据从远程MySQL数据库拉入.Net应用程序。从MySql数据库中读取的列之一是tinyint(1)数据类型,其中包含0-5的值。问题是连接器将此列类型读取为bool(true/false)而不是int。因此,大于0的所有内容都作为1返回。这是一个大问题。我没有机会更改数据库列。下面是我最终使用的解决方案。我最初的问题是: SELECT tinyint_column FROM table_with_a_tinyint 使用MyS

我正在使用MySQL Connector/NETV.6.6.5将数据从远程MySQL数据库拉入.Net应用程序。从MySql数据库中读取的列之一是tinyint(1)数据类型,其中包含0-5的值。问题是连接器将此列类型读取为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)。希望它能在将来帮助处于相同情况的人。

可能重复@RohitVats-这个问题不同-OP无法更改为Tinyint(2)检索bool并根据其值转换为整数有什么问题?你能在MySql查询中转换为int吗?@RohitVats-你是对的。