在ADO编程上有_bstr_t这样的类型
如::Open(_bsrt_t ConnectionString _bstr_t...
它是一种什么样的数据类型?
应如何将它转化为其它类型,如int,char?
解决方案 »
- 跪求虚拟光驱的实现原理资料
- Web Active 控件实现文件传输,100分求救.......................
- 出RMB征人根据RFC2833实现DTMF的生成
- error LNK2001: unresolved external symbol "__declspec<dllimport> public: void __thiscall _STL::_STLP_alloc_proxy<unsigned short
- 如果把CString表示的十六进制的数转化为十进制的数?
- 全景图谁用VC做过
- 文件权限判断
- 删除一个对象和释放对象的内存有什么区别???
- 请问如何由一个对话框资源创建一个子窗口??
- 怎么获取jpg图片的标题
- 您们好,我想得到托盘的句柄,请问怎么能得到,同时使托盘具有托动功能,谢谢
- 在程序中各个类之间如何相互通讯?
@="用记事本打开"[HKEY_CLASSES_ROOT\*\shell\Notepad\command]
@="C:\\windows\\notepad.exe %1"
举例如下:
_variant_t vParam;vParam=m_pRecordset->GetCollect("字段A");若字段A为整型:
int i;
i=vParam.iVal;若字段A为字符型:
CString str;
str=vParam.bstrVal;若字段A为时间类型:
COleDateTime sqlTime(vParam);//CTime-->_variant_t
CTime time(CTime::GetCurrentTime());
SYSTEMTIME timeDest;
time.GetAsSystemTime(timeDest);
double vtime;
SystemTimeToVariantTime(&timeDest,&vtime);
_variant_t var_time(vtime,VT_DATE);// COleCurrency ---> double
COleCurrency m_cur(4,500);
double dval = ((double)m_cur.m_cur.int64)/10000;
CString s;
s.Format("%.4f",dval);
AfxMessageBox(s);
SAFEARRAY* psa;
SAFEARRAYBOUND bounds = {8, 0};
psa = SafeArrayCreate(VT_BSTR, 1, &bounds);
BSTR* bstrArray;
SafeArrayAccessData(psa, reinterpret_cast<void**>(&bstrArray));
int i = 0;
for(it = 0; it != 8; it++, i++)
{
bstrArray[i] = SysAllocString(T2OLE("VALUES"));
}
SafeArrayUnaccessData(psa);
该程序段说明了如何从字段检索数值并将数值转换为 C++ 变量。#import "c:\Program Files\Common Files\System\ADO\msado15.dll"
no_namespace rename("EOF", "EndOfFile")
#include <stdio.h>Class CEmployee
{
public:
FetchEmployeeData(); char m_szFirstName[30];
char m_szLastName[30];
int nAge;
};CEmployee::FetchEmployeeData()
{
_ConnectionPtr pCon();
_RecordsetPtr pRs();
FieldPtr pfldFirstName, pfldLastName, pfldAge;
_variant_t vFirstName, vLastName, vAge;pCon.CreateInstance(__uuidof(Connection));
pCon->Open(“pubs”, “sa”, “”);pRs.CreateInstance(__uuidof(Recordset));
pRs->Open(“select FirstName, LastName, Age from Employees”, pCon,
adOpenForwardOnly, adLockReadOnly, adCmdUnknown);pfldFirstName = pRs->Fields->GetItem(0);
pfldLastName = pRs->Fields->GetItem(1);
pfldAge = pRs->Fields->GetItem(2);while (VARIANT_FALSE == pRs->EndOfFile)
{
vFirstName.Clear();
vLastName.Clear();
vAge.Clear(); vFirstName = pfldFirstName->Value;
WideCharToMultiByte(CP_ACP, 0, vFirstName.bstrVal, -1,
m_szFirstName, sizeof(m_szFirstName), NULL, NULL); vLastName = pfldLastName->Value;
WideCharToMultiByte(CP_ACP, 0, vLastName.bstrVal, -1,
m_szLastName, sizeof(m_szLastName), NULL, NULL); nAge = vAge.iVal; pRs->MoveNext();
}
}