怎样把CString转换成_variant_t?

lllhaier 2003-09-05 05:52:15
1.在ado操作中,怎么样把CString转换成_variant_t?请给出例子,谢谢!

2.

CString s;
LPTSTR temp=(LPTSTR)(LPCTSTR)s;
以上两句运行时出错,跟踪进去到此处:
_AFX_INLINE CString::operator LPCTSTR() const
{ return m_pchData; }
请问是怎么回事?
...全文
546 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Viconia 2003-09-22
  • 打赏
  • 举报
回复
直接强制转换

vl=(_variant_t)(LPCTSTR)str;
漂行者 2003-09-22
  • 打赏
  • 举报
回复
CString str;
_variant_t _vl;
_vl=(_variant_t)(LPCTSTR)str;
xiaohedou 2003-09-22
  • 打赏
  • 举报
回复
look ^ study
woolgate 2003-09-21
  • 打赏
  • 举报
回复
下载一个ADOClass,
使用方法New一个CADODatabase,再New一个CADORecordset,
然后就用吧 :)
用ADO简直方便死掉了。

http://www.codeproject.com/database/CAAAdoClass1/AdoClass_src.zip
windyhui 2003-09-21
  • 打赏
  • 举报
回复
CString str;
_variant_t(str);
dy_paradise 2003-09-09
  • 打赏
  • 举报
回复
没有必要那么麻烦吧
dy_paradise 2003-09-09
  • 打赏
  • 举报
回复
CString s1;
s1.Format("%s",(char *)bstr);
zhaolaoxin 2003-09-09
  • 打赏
  • 举报
回复
COleVariant newvalue;
CString strtmp;
strtmp = "abcdefg";
newvalue.SetString(strtmp, VT_BSTR);
weixxxp 2003-09-08
  • 打赏
  • 举报
回复
2.CString::operator LPCTSTR() 返回的是const指针,当然不能再(LPTSTR)了,直接用GetBuffer(0)就可以了。
GreenHeart 2003-09-08
  • 打赏
  • 举报
回复
试试这个函数
ConstructVar(CString StrValue, int type, VARIANT *var)
{
COleDateTime var_date;
CURRENCY cy;
cy.Hi = 0;
switch (type)
{
case adInteger:
var->vt = VT_I4;
var->lVal = atoi(StrValue);
break;
case adChar:
case adVarWChar:
var->vt = VT_BSTR;
var->bstrVal = (_bstr_t)StrValue;
break;
case adDBTimeStamp:
var->vt = VT_DATE;
var->date = var_date;
default:
var->vt = VT_EMPTY;
break;
}
return TRUE;
}
weixxxp 2003-09-08
  • 打赏
  • 举报
回复
1.
CString value;
_variant_t vt;
vt.vt = value.IsEmpty() ? VT_NULL : VT_BSTR;
vt.bstrVal = value.AllocSysString();
yyfa6 2003-09-07
  • 打赏
  • 举报
回复
赞同bluebohe(薄荷)
bluebohe 2003-09-06
  • 打赏
  • 举报
回复
1:
CString str="sdafkljjksafd";
_variant_t str1((LPCTSTR)str);
2:
如果仅仅是这么两句就出问题的话,应该是你的s没有初始化的缘故
dhbo 2003-09-06
  • 打赏
  • 举报
回复
赞同楼上bluebohe(薄荷) :
CString str="sdafkljjksafd";
_variant_t str1((LPCTSTR)str);
commandconque 2003-09-05
  • 打赏
  • 举报
回复
完全写法:
VARIANT varValue;
CString va;
varValue->vt=VT_BSTR;
varValue->bstrVal=(_bstr_t)var;
lwugui 2003-09-05
  • 打赏
  • 举报
回复
LPTSTR lpType;
CString m_strFileName;
CString strTmp;
strTmp = m_strFileName.Right(3); //从右取3个
lpType = LPCTSTR(strTmp); //强制转换
lwugui 2003-09-05
  • 打赏
  • 举报
回复
LPTSTR lpszText;
strcpy(lpszText,"Test");
lwugui 2003-09-05
  • 打赏
  • 举报
回复
_variant_t limiturl;
limiturl= m_pURLRecordset->GetCollect("limurl");
CString url = (LPCTSTR)(_bstr_t)limiturl;
huanyun 2003-09-05
  • 打赏
  • 举报
回复
_variant_t vt(str);
LPTSTR temp=s.getbuffer(0);

WINDOWS程序设计中最常用的一些消息: 2 1 窗口消息:WM_CREATE,WM_DESTROY,WM_CLOSE 2 2 键盘消息:WM_CHAR,WM_KEYDOWN,WM_KEYUP 2 3 鼠标消息:WM_MOUSEMOVE,WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBCLICK,WM_RBUTTONDOWN, WM_RBUTTONUP,WM_RBUTTONDBCLICK 2 4 另一组窗口消息:WM_MOVE , WM_SIZE , WM_PAINT 2 5 焦点消息WM_SETFOCUS,WM_KILLFOCUS 3 6 定时器消息:WM_TIMER 3 MFC、ATL和STL 3 得到网关 4 CString最全面的总结 4 CString 拷贝 & 赋值 & "引用内存块" 什么时候释放? 4 FreeExtra()的作用 5 Format(...) 与 FormatV(...) 6 LockBuffer() 与 UnlockBuffer() 6 CString 只是处理串吗? 6 AllocSysString()与SetSysString(BSTR*) 7 参数的安全检验 7 CString的异常处理 7 跨模块时的CString.即一个DLL的接口函数中的参数为CString&时,它会发生怎样的现象。 7 串操作是编程中最常用也最基本的操作之一. 8 打开对话框选择多个文件 11 用VC设计托盘图标程序 12 一、NOTIFYICONDATA结构 12 二、Shell_NotifyIcon函数 13 三、托盘图标程序设计示例 13 VC常用数据类型使用转换详解 15 一、其它数据类型转换为字符串 15 二、从其它包含字符串的变量中获取指向该字符串的指针 16 三、字符串转换为其它数据类型 16 四、其它数据类型转换到CString 16 五、BSTR、_bstr_t与CComBSTR 16 六、VARIANT 、_variant_t 与 COleVariant 17 七、其它 18

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧