c# - MySQL防止TINYINT(1)到布尔值转换
本文关键字:布尔值 转换 MySQL 防止 TINYINT | 更新日期: 2023-09-27 18:17:38
是否有办法防止从TINYINT(1)转换为布尔值?或者将其转换为int ?
我的TINYINT(1)列可以有0,1,2,3这样的数据。但是它被分别转换为False, True, True, True
下面是我当前使用的代码:
using (Cmd = new MySqlCommand())
{
Cmd.Connection = Conn;
SetQuery();
using (var dt = new DataTable())
{
dt.Load(Cmd.ExecuteReader());
ObjectList = dt.AsEnumerable().ToArray();=
}
Parse();
return ObjectList != null;
}
希望你能帮我解决这个问题。
TINYINT
基本上是SQL Server中的1 byte
,它的。net等价物是byte
。您可以通过多种方式实现此操作,请查看
int x = (int)(byte) reader["column"];
int x = (byte) reader["column"];
int x = reader.GetByte(column);
参考SQL Server数据类型映射
虽然您发布的代码无处显示从TINYINT(1)
到boolean
的实际转换,但您可以尝试将其转换为byte
,如
(byte)rdr["columnwithtinyintdatatype"];