一个类型转换的问题,高手来看看 晕半天了...
我数据表中有Userflg 这么一个字段 bit型
Model类 将Userflg定义为Char
if (dt.Rows.Count > 0)
{
post.PostID = dt.Rows[0][ "PostID "].ToString().Trim();
post.PostName = dt.Rows[0][ "PostName "].ToString().Trim();
post.PostGrade = dt.Rows[0][ "PostGrade "].ToString().Trim();
post.PostMemo = dt.Rows[0][ "PostMemo "].ToString().Trim();
post.Userflg = Convert.ToChar(dt.Rows[0][ "Userflg "]);//就是这句出问题
return post;
}
else
{
return null;
}
post.Userflg=Convert.ToChar(dt.Rows[0][ "Userflg "])
我转换为char型.为什么结果返回的是true 或 false 应该是 0 和 1啊.
我数据表中的记录都是0,1 为什么读出来的是true 或 false ???
帮帮忙吧~~~感激不尽
------解决方案--------------------post.Userflg=Convert.ToByte(dt.Rows[0][ "Userflg "]) 试一下
------解决方案--------------------我数据表中的记录都是0,1 为什么读出来的是true 或 false ???
========================
sql 就是这样吧
------解决方案--------------------Userflg是BIT类型吧?
------解决方案--------------------是这样的,应该用ToBoolean
------解决方案--------------------MSSQL 中 bit 类型对应 C# 的类型就是 Nullable <bool> ...
------解决方案--------------------Userflg在数据库里面可能是big或别的类型1个字节的..在sql语句里面先Convert(varchar,Userflg);试试.
------解决方案--------------------bit..-_-#
------解决方案--------------------post.Userflg = Convert.ToChar(Convert.ToInt32(dt.Rows[0][ "Userflg "].ToString()));
------解决方案--------------------post.Userflg = (bool)(dt.Rows[0][ "Userflg "]) ? '1 ' : '0 ';