有没有办法阻止从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;
}
希望你能帮我解决这个问题。
提前致谢。
答案 0 :(得分:1)
TINYINT
在SQL Server中基本上是1 byte
,其.Net等价物是byte
。
你可以通过多种方式做到这一点,看看。
int x = (int)(byte) reader["column"];
int x = (byte) reader["column"];
int x = reader.GetByte(column);
答案 1 :(得分:0)
虽然您发布的代码无法显示实际从TINYINT(1)
转换为boolean
,但您可以尝试将其转换为byte
(byte)rdr["columnwithtinyintdatatype"];