SQL 2005 中 CardStatusIDXF字段的类型 为smallintflag 为intflag=m_pRecordSet->GetCollect("CardStatusIDXF").iVal;
flag=m_pRecordSet->GetCollect("CardStatusIDXF").uiVal;
我先后以上两种方式取CardStatusIDXF字段的值都报错我屏蔽这个字段的获取 就不报错
flag=m_pRecordSet->GetCollect("CardStatusIDXF").uiVal;
我先后以上两种方式取CardStatusIDXF字段的值都报错我屏蔽这个字段的获取 就不报错
解决方案 »
- OPENGL里雾的使用,求指导
- 在Windows编程里面,HIWORD和LOWORD是什么意思?
- 获得EXCEL报表中的行数和列数,求各位大侠门帮忙了~
- VC开发数据库,如果数据库不在本地机器上,要列出一个表的所有内容,要不要分页,类似B/S结构?
- ★★★求一简单编程题!急!!★★★
- 新手请教
- WriteProfileBinary
- 请问做DLL程序有什么调试方法?可以像exe那样单步调试吗?
- 多线程程序下,如何找到指定的窗口句柄?
- 当单击DATAGRID控件时,如何把DATAGRID中的数据显示在编辑框中
- VS2005 高亮显示括号匹配问题
- vc6中循环执行WebBrowser.Navigate方法,怎样实现加载一个网页结束后再开始加载下一个网页
强制转换试试,另外你确定它是短整形吗
你可以根据m_pRecordSet->GetCollect("CardStatusIDXF").vt来判断类型92.CString CConvert::ToString(const _variant_t& var)
93.{
94. CString strValue;
95. switch (var.vt)
96. {
97. case VT_BSTR: //字符串
98. case VT_LPSTR:
99. case VT_LPWSTR:
100. strValue = (LPCTSTR)(_bstr_t)var;
101. break;
102. case VT_I1: //无符号字符
103. case VT_UI1:
104. strValue.Format(_T("%d"), var.bVal);
105. break;
106. case VT_I2: //短整型
107. strValue.Format(_T("%d"), var.iVal);
108. break;
109. case VT_UI2: //无符号短整型
110. strValue.Format(_T("%u"), var.uiVal);
111. break;
112. case VT_INT: //整型
113. strValue.Format(_T("%d"), var.intVal);
114. break;
115. case VT_I4: //整型
116. case VT_I8: //长整型
117. strValue.Format(_T("%d"), var.lVal);
118. break;
119. case VT_UINT: //无符号整型
120. strValue.Format(_T("%d"), var.uintVal);
121. break;
122. case VT_UI4: //无符号整型
123. case VT_UI8: //无符号长整型
124. strValue.Format(_T("%d"), var.ulVal);
125. break;
126. case VT_VOID:
127. strValue.Format(_T("%08x"), var.byref);
128. break;
129. case VT_R4: //浮点型
130. strValue.Format(_T("%f"), var.fltVal);
131. break;
132. case VT_R8: //双精度型
133. strValue.Format(_T("%f"), var.dblVal);
134. break;
135. case VT_DECIMAL: //小数
136. strValue.Format(_T("%f"), (double)var);
137. break;
138. case VT_CY:
139. {
140. COleCurrency cy = var.cyVal;
141. strValue = cy.Format();
142. }
143. break;
144. case VT_BLOB:
145. case VT_BLOB_OBJECT:
146. case 0x2011:
147. strValue = _T("[BLOB]");
148. break;
149. case VT_BOOL: //布尔型
150. strValue = var.boolVal ? _T("TRUE") : _T("FALSE");
151. break;
152. case VT_DATE: //日期型
153. {
154. DATE dt = var.date;
155. COleDateTime da = COleDateTime(dt);
156. strValue = da.Format(_T("%Y-%m-%d %H:%M:%S"));
157. }
158. break;
159. case VT_NULL://NULL值
160. case VT_EMPTY: //空
161. strValue = _T("");
162. break;
163. case VT_UNKNOWN: //未知类型
164. default:
165. strValue = _T("VT_UNKNOW");
166. break;
167. }
168.
169. return strValue;
170.} http://blog.csdn.net/Augusdi/archive/2010/06/21/5683097.aspx
是从数据库表中看的这个字段的属性
flag=int(m_pRecordSet->GetCollect("CardStatusIDXF"))
或
flag=double(m_pRecordSet->GetCollect("CardStatusIDXF"))
看看行不行,如果不行,你还是看看vt是什么类型,然后再调用对应成员变量
error C2440: 'type cast' : cannot convert from 'class _variant_t' to 'int'
Ambiguous user-defined-conversion
用
flag=(short)m_pRecordSet->GetCollect("CardStatusIDXF");
或者
flag=(long)m_pRecordSet->GetCollect("CardStatusIDXF");
试试