C# mysql中的tinyint在c中显示为布尔值#
我的查询是从mysql中的表中获取一个C# mysql中的tinyint在c中显示为布尔值#,c#,mysql,ado.net,tinyint,C#,Mysql,Ado.net,Tinyint,我的查询是从mysql中的表中获取一个tinyint(1)字段,如下所示 mysqlcommand.selectquery="select vehicletype from vehicles where id=1" 车辆类型的可能值为1到7 但是字段的datatable行中的输出显示为boolean datatable dtresult; mda.Fill(dtResult); DataRow dr = dtResult.Rows[0]; //dr["vehicletype "]=false
tinyint(1)
字段,如下所示
mysqlcommand.selectquery="select vehicletype from vehicles where id=1"
车辆类型的可能值为1到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”]
的值时,对于0,它显示为false
,对于任何其他值,它显示为true
。如何防止其进行默认转换请参阅:
您可以添加到连接字符串中
“将Tiny视为布尔值=false;”
现在tinyint将被解释为C#中的一个类型sbyte
参考:
您可以添加到连接字符串中
“将Tiny视为布尔值=false;”
现在tinyint将被解释为C#中的一个类型sbyte
您是否尝试过Int vehicletype=Convert.ToInt32(dr[“vehicletype”])代码>?是,它为0值提供0,为任何其他值提供1。我有相同的问题。您是否尝试过Int vehicletype=Convert.ToInt32(dr[“vehicletype”])代码>?是,它为0值提供0,为任何其他值提供1。我有相同的问题