vc++从oracle中得到的32位随机数用什么来存储呢?

时间:2021-08-06 13:35:42
在oracle数据库中使用命令:SELECT SYS_GUID() from dual会得到一个随机的32位数,我想问一下,如何在vc++中得到这个32位数的字符形式呢?
我使用如下的方式:
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 的类型。