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

标签 c# mysql .net database

我正在使用 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/

相关文章:

c# - 如何从 DataGridView 接收 "scroll box"类型的滚动事件?

.net - Docker - Windows 容器 - 安装 DotNet Framework 472

c# - OrmLite 更新()与保存()

c# - AVAudioRecorder 始终为空

c# - 改进文本框 C# 中的条形码搜索

.net - 尝试使用 Combres Nuget 包缓存图像 js 文件时遇到问题

c# - Topshelf - 基于自定义参数启动线程

mysql innodb : delete takes seconds

mysql - 如何根据其他记录的值更新字段

mysql - 帮助进行 SQL 查询