如何取出放在CDBVariant 里的布尔类型的值? bool类型本身,其实是一个整型值,你读出的这些数据都是有可能的,因为归根到底,取出的数据取决于数据库中存放的数据。方法没错,case DBVT_BOOL时,直接用varValue.m_boolVal。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从你打出结果看,数据库中该field的值就是4329985 老兄, 那我该怎么办? 总不能用4329985来判断其值为TRUE或FALSE吧. 我想总有个法子将其转为(1/0)或(TRUE/FALSE)才对. 1 严格意义上说,C++中没有专门的布尔变量, BOOL及bool实际上是一个int2 既然如此,在C++中是这样定义的:0为flase, 非0为true 所以下面这样的代码是正确的 int a =10; if(a) { //do you job }3 解决你这问题的方法如下: cout << varValue.m_boolVal ? 1:0 << endl; 楼上的大虾,实际上, 当数据库的字段为TRUE时,取出的varValue.m_boolVar值为:4329985,为FALSE时, 取出的值为:4329984, 并不是0.用你说的方法: cout << varValue.m_boolVal ? 1:0 << endl;编译时通不过.我改用:int tmpVarValue;tmpVarValue = varValue.m_boolVal ? 1 : 0;cout << tmpVarValue << endl; 打印的结果全都是1. 从理论上说,不可能出现你说的那种情况如果真是这样的话,那可能是ODBC的错误,也有可能是Access这个字段填入的数据根本就不正确不过我发现,它的低八位是正确的.你可以这样解决(char)varValue.m_boolVal ? 1 : 0 谢谢! 问题算是解决了.我往Access字段填的是(1/0),不知道为什么读出来的就不是(1/0). 关于CEdit拦截ESC键的问题 怎么从CMSFlexGrid派生一个类 [散分]纪念第一篇被推荐的博客 基于文档类建立的局域网通信连接出现 Unsupported Variant Type错误 读写硬盘任意扇区 请问通过自己的程序如何接受net send消息? 实力强的QQ群,程序员在深圳群有5个群(人数早已超过一千人),云集了深圳范围内的软件精英 问个简单的问题? 如何用自绘的菜单替换系统生成的全部菜单? msdn哪儿有 看看如何解决 ###菜单定义出错!!!
2 既然如此,在C++中是这样定义的:0为flase, 非0为true 所以下面这样的代码是正确的
int a =10;
if(a)
{
//do you job
}
3 解决你这问题的方法如下:
cout << varValue.m_boolVal ? 1:0 << endl;
为FALSE时, 取出的值为:4329984, 并不是0.用你说的方法: cout << varValue.m_boolVal ? 1:0 << endl;
编译时通不过.我改用:
int tmpVarValue;
tmpVarValue = varValue.m_boolVal ? 1 : 0;
cout << tmpVarValue << endl;
打印的结果全都是1.
(char)varValue.m_boolVal ? 1 : 0
我往Access字段填的是(1/0),不知道为什么读出来的就不是(1/0).