CString VariantToString(VARIANT var);转换
Variant类型转换成CString代码
对数据库的操作常常会用Variant和_bstr_t类型,在进行MFC等程序中,通常会用到CString类。从variant转换成CString代码如下:view plaincopy to clipboardprint?
plaincopy to clipboardprint?
CString VariantToString(_variant_t var)
{
CString strValue;
_variant_t var_t;
_bstr_t bstr_t;
COleCurrency var_currency;
switch(var.vt)
{
case VT_EMPTY:
case VT_NULL:strValue=_T("");break;
case VT_UI1:strValue.Format("%d",var.bVal);break; //bool
case VT_I2:strValue.Format("%d",var.iVal);break; //int
case VT_I4:strValue.Format("%d",var.lVal);break; //long
case VT_R4:strValue.Format("%f",var.fltVal);break; //float
case VT_R8:strValue.Format("%f",var.dblVal);break; //
case VT_CY:
var_currency=var;
strValue=var_currency.Format(0);break;
case VT_BSTR:
var_t =var;
bstr_t=var_t;
strValue.Format("%s",(const char *)bstr_t);
break;
case VT_DATE: //时间类型
{
CTime myTime(((COleDateTime)var).GetYear(),
((COleDateTime)var).GetMonth(),
((COleDateTime)var).GetDay(),
((COleDateTime)var).GetHour(),
((COleDateTime)var).GetMinute(),
((COleDateTime)var).GetSecond());
strValue = myTime.Format("%Y-%m-%d %H:%M:%S");
}
break;
case VT_BOOL:strValue.Format("%d",var.boolVal);
break;
default:strValue=_T("");break;
}
return strValue;
}
CString VariantToString(_variant_t var)
{
CString strValue;
_variant_t var_t;
_bstr_t bstr_t;
COleCurrency var_currency;
switch(var.vt)
{
case VT_EMPTY:
case VT_NULL:strValue=_T("");break;
case VT_UI1:strValue.Format("%d",var.bVal);break; //bool
case VT_I2:strValue.Format("%d",var.iVal);break; //int
case VT_I4:strValue.Format("%d",var.lVal);break; //long
case VT_R4:strValue.Format("%f",var.fltVal);break; //float
case VT_R8:strValue.Format("%f",var.dblVal);break; //
case VT_CY:
var_currency=var;
strValue=var_currency.Format(0);break;
case VT_BSTR:
var_t =var;
bstr_t=var_t;
strValue.Format("%s",(const char *)bstr_t);
break;
case VT_DATE: //时间类型
{
CTime myTime(((COleDateTime)var).GetYear(),
((COleDateTime)var).GetMonth(),
((COleDateTime)var).GetDay(),
((COleDateTime)var).GetHour(),
((COleDateTime)var).GetMinute(),
((COleDateTime)var).GetSecond());
strValue = myTime.Format("%Y-%m-%d %H:%M:%S");
}
break;
case VT_BOOL:strValue.Format("%d",var.boolVal);
break;
default:strValue=_T("");break;
}
return strValue;
}
转自http://blog.csdn.net/whf727/archive/2009/05/19/4202120.aspx
CString VariantToString(VARIANT var);转换的更多相关文章
- 关于CString与VARIANT(CComVariant)之间的转化
一.VARIANT.CComVariant类与CString是什么: CString是MFC定义的字符串类,VARIANT是COM标准为了使COM组件能够被各种语言使用(vc++.vb.java.py ...
- Char* ,CString ,WCHAR*之间的转换
关于Char* ,CString ,WCHAR*之间的转换问题 GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用 ...
- Cstring, TCHAR*, char*的转换
最近老用到Cstring, TCHAR*, char*的转换. 找到一篇写得蛮详细的. 引用过来, 方便自己以后查阅. char是类型TCHAR也是!不过他可以通过是否定义了UNICODE宏来判断到底 ...
- 关于Char* ,CString ,WCHAR*之间的转换问题
GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *.得益 ...
- JPEG和Variant的转换
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ...
- char*、string、CString各种字符串之间转换
参考博客: http://blog.csdn.net/luoweifu/article/details/20242307 http://blog.csdn.net/luoweifu/article/d ...
- 文件和Variant的转换
function FileToVariant(FileName: String): OleVariant; var AStream: TFileStream; MyBuffer: Pointe ...
- 流和Variant的转换
procedure TForm2.VariantToStream (const v : olevariant; Stream : T ...
- bmp和Variant的转换
procedure TForm2.VariantToBMP(aValue : OleVariant;var aBmp:TBitmap); var Stream : TMemoryStream; ...
随机推荐
- codeforces865C
Gotta Go Fast CodeForces - 865C You're trying to set the record on your favorite video game. The gam ...
- CF1207A
CF1207A-There Are Two Types Of Burgers 题意: 出售普通汉堡和鸡肉汉堡,并且两种汉堡所需的原材料价格不同,问最多能卖多少钱. 解法: 对于这道题,我们优先考虑先卖 ...
- 通读Python官方文档之cgi
cgi 通用网关接口 前驱知识 网关协议学习:CGI.FastCGI.WSGI 简单点说: web服务器接受请求,启动CGI:CGI接受请求,处理,返回给服务器:服务器返回给用户 cgi效率不高,每次 ...
- MySQL优化相关参数--先做个记录,以后可能用得到
innodb_io_capacity:可设置的磁盘IO性能参数,越高代表当前mysql的IO性能更好,可用做决策刷脏页速度的参数: innodb_flush_neighbors:刷脏页是否开启连坐机制 ...
- 10分钟梳理MySQL核心知识点
数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 做业务,要懂基本的SQL语句:做性能优化,要懂索引,懂引擎:做分库分表,要懂主从,懂读写分离... 今天我们用10分钟,重 ...
- kotlin if
val max = if (a > b) { print("Choose a") a } else { print("Choose b") b } 注意和 ...
- 初写C#的小总结
虽然大学学过很多计算机语言,但是现在工作是前端,一个刚入行的前端菜鸟,之前对于后台完全零接触,但是最近有个项目,我也是第一次真正接触C#,中间遇到了一些小问题,就做个总结记录下,真的是超级简单的小知识 ...
- 【Java/csv】一个CSV文件解析类(转载)
/*下文写得不错,值得学习**/ import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayLis ...
- C++ STL——常用算法
目录 一 常用查找算法 二 常用遍历算法 注:原创不易,转载请务必注明原作者和出处,感谢支持! 注:内容来自某培训课程,不一定完全正确! 一 常用查找算法 /* find算法 查找元素 @param ...
- LC 529. Minesweeper
Let's play the minesweeper game (Wikipedia, online game)! You are given a 2D char matrix representin ...