while(VARIANT_FALSE == rs->rsEOF)
{
CString strText;
//strText.Format(TEXT("item %d"), z);
//theCtrl.InsertItem(LVIF_TEXT|LVIF_STATE,z,strText,0,LVIS_SELECTED,0,0);
strText.Format(TEXT("item %d"), z); // Insert the item, select every other item.
theCtrl.InsertItem(
LVIF_TEXT|LVIF_STATE, z, strText,
(z%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,
0, 0); for(int j =0; j<lNumFields; j++)
{
index.lVal = j;
vntFieldValue.bstrVal = NULL;
pFields->get_Item(index, &pField);
pField->get_Value(&vntFieldValue);
MessageBox(CString(vntFieldValue.bstrVal),_T(CString(vntFieldValue.bstrVal))); //CListCtrl* pmyListCtrl = &theCtrl;
//theCtrl.SetItemText(z,j,CString(vntFieldValue.bstrVal));
//strText.Format(TEXT("sub-item %d %d"), z, j);
theCtrl.SetItemText(z, j, _T(CString(vntFieldValue.bstrVal)));
//(j, _T(CString(vntFieldValue.bstrVal)));
//theCtrl.InsertItem(j,_T(CString(vntFieldValue.bstrVal)));
//theCtrl.InsertItem(j,"1"); //SysFreeString(vntFieldValue.bstrVal);
}
rs->MoveNext();
z++;
}这里的一个问题是,如果数据库字段是字符串格式,那么可以显示数据!如果是整数或者别的,那就显示不出来?请问我如何才能解决这个问题?谢谢!另外一个问题是:在用MFC 向导建立 OLE DB 支持的程序时,会有一个对话框出现,让你建立ADO链接,形成连接字符串并且测试连接(这个对话框在C++ BUILDER 中可以用函数调出)。请问我如何在自己的程序中调用这个对话框,并且返回参数?谢谢!
{
CString strText;
//strText.Format(TEXT("item %d"), z);
//theCtrl.InsertItem(LVIF_TEXT|LVIF_STATE,z,strText,0,LVIS_SELECTED,0,0);
strText.Format(TEXT("item %d"), z); // Insert the item, select every other item.
theCtrl.InsertItem(
LVIF_TEXT|LVIF_STATE, z, strText,
(z%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,
0, 0); for(int j =0; j<lNumFields; j++)
{
index.lVal = j;
vntFieldValue.bstrVal = NULL;
pFields->get_Item(index, &pField);
pField->get_Value(&vntFieldValue);
MessageBox(CString(vntFieldValue.bstrVal),_T(CString(vntFieldValue.bstrVal))); //CListCtrl* pmyListCtrl = &theCtrl;
//theCtrl.SetItemText(z,j,CString(vntFieldValue.bstrVal));
//strText.Format(TEXT("sub-item %d %d"), z, j);
theCtrl.SetItemText(z, j, _T(CString(vntFieldValue.bstrVal)));
//(j, _T(CString(vntFieldValue.bstrVal)));
//theCtrl.InsertItem(j,_T(CString(vntFieldValue.bstrVal)));
//theCtrl.InsertItem(j,"1"); //SysFreeString(vntFieldValue.bstrVal);
}
rs->MoveNext();
z++;
}这里的一个问题是,如果数据库字段是字符串格式,那么可以显示数据!如果是整数或者别的,那就显示不出来?请问我如何才能解决这个问题?谢谢!另外一个问题是:在用MFC 向导建立 OLE DB 支持的程序时,会有一个对话框出现,让你建立ADO链接,形成连接字符串并且测试连接(这个对话框在C++ BUILDER 中可以用函数调出)。请问我如何在自己的程序中调用这个对话框,并且返回参数?谢谢!
解决方案 »
- 关于 detours、hook、dll 和进程通讯 困扰一晚上睡不着的一个问题,谢9999辈子
- 请教
- !!急 梯度量化方法?
- 用CPropertySheet退出问题。
- 怎样将字符串显示到编辑框中
- EnableWindow不正常
- 有没有用过ACE的朋友?
- WinNT & Win2K下实现进程的完全隐藏
- *****请问高手,一个installshield安装文件的制作问题,做好setup.exe后,运行这一安装程序后出现如下错误:****
- 西安程序员大调查,工具/工资,同意成立《程序员同盟会》吗?
- 请问PSafeArray数据结构的具体含义及用法,急急!!!
- ???如何在DialogBar上画菜单
if(vntFieldValue.vt == VT_BSTR)
{}
#import "C:\Program Files\Common Files\System\ole db\oledb32.dll"
参见
http://expert.csdn.net/Expert/topic/1892/1892707.xml?temp=.8931696
CString strShenZhen;
strShenZhen.Format("%d",nLove);strShenZhen=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Age");
{
m_pRecordset->AddNew();
......
m_pRecordset->PutCollect("Age",_variant_t((long)nLove));
......
m_pRecordset->Update();
}
catch(...)
{
//do sth
}
long Getint()
{
_variant_t var;
//pField->get_Value(&var);
long value = 0;
switch (var.vt)
{
case VT_BOOL:
value = var.boolVal;
break;
case VT_UI1:
case VT_I1:
value = var.bVal;
break;
case VT_UI2:
case VT_I2:
value = var.iVal;
break;
case VT_I4:
case VT_UI4:
value = var.lVal;
break;
case VT_INT:
value = var.intVal;
break;
case VT_R4:
value = (long)(var.fltVal + 0.5);
break;
case VT_R8:
value = (long)(var.dblVal + 0.5);
break;
case VT_DECIMAL:
value = (long)var;
break;
case VT_CY:
value = (long)var;
break;
case VT_BSTR://字符串
case VT_LPSTR://字符串
case VT_LPWSTR://字符串
value = atol((LPCTSTR)(_bstr_t)var);
break;
case VT_NULL:
case VT_EMPTY:
value = 0;
break;
default:
TRACE(_T("Warning: 未处理的 _variant_t 类型值; 文件: %s; 行: %d\n"), __FILE__, __LINE__);
}
return value;
}