读书人

一个类型转换的有关问题,高手来看看 晕

发布时间: 2012-02-09 18:22:27 作者: rapoo

一个类型转换的问题,高手来看看 晕半天了...
我数据表中有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 ';

读书人网 >asp.net

热点推荐