我使用如下的方式:
CString cstrID;
CString sql= "SELECT SYS_GUID() from dual";
if (m_pRs->GetState() == adStateOpen)
{
m_pRs->Close();
}
m_pRs->Open((_variant_t)sql,
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
if (!m_pRs->adoEOF)
{
_variant_t var = m_pRs->Fields->GetItem((short)0)->Value;
if( var.vt != VT_NULL ){
cstrID = (char*)_bstr_t(var);
}
} else{
AfxMessageBox("id获取错误!");
}
if (m_pRs->GetState() == adStateOpen)
{
m_pRs->Close();
}
AfxMessageBox(cstrID);
为什么cstrID里面是乱码,而不是32位随机数的字符串形式?如何得到32位随机数的字符串形式呢?
2 个解决方案
#1
怎么没有人回复呢??难道大家都不知道么?
#2
调试,看看 VAR 的类型。
#1
怎么没有人回复呢??难道大家都不知道么?
#2
调试,看看 VAR 的类型。