1

我从 mysql 中的表中获取tinyint(1)字段的查询如下

mysqlcommand.selectquery="select vehicletype from vehicles where id=1"

的可能值为vehicletype1 到 7

但该datatable字段的行中的输出显示为boolean

datatable dtresult;
mda.Fill(dtResult);
DataRow dr = dtResult.Rows[0];
//dr["vehicletype "]=false if 0
//dr["vehicletype "]=true if 1
//dr["vehicletype "]=true if 2
//dr["vehicletype "]=true if 3
//dr["vehicletype "]=true if 4 etc...

当我在 Visual Studio 中看到它的值时dr["vehicletype "],它显示false为 0 和true任何其他值。我怎样才能防止它默认转换

4

1 回答 1

5

参考:

https://bugs.mysql.com/bug.php?id=67381

您可以在连接字符串中添加“Treat Tiny As Boolean=false;”

现在 tinyint 将被解释为 C# 中的 sbyte 类型。

于 2017-05-20T06:12:44.110 回答