RT.小弟最近在做個小東西,其中用到combo box控制元件,控制元件里面的data資料項需要從資料庫中的一個表里面的某個欄位的內容動態的增減。小弟道行尚淺,希望大神給予支持,希望詳細一點,以前沒做過在VC下面動態系結的例子。[email protected]
uj5u.com熱心網友回復:
獲取資料庫查詢出對應的資料,然后更新combobox控制元件的資料,沒有動態系結的方式uj5u.com熱心網友回復:
只能每次查詢uj5u.com熱心網友回復:
搞定啦!
謝謝樓上兩位,再問個問題。代碼如下:
void CAddDlg::OnSelchangeCombo1()
{
CString str,temp;
m_combo1.GetWindowText(str);
//MessageBox(str);
temp.Format(_T("select 安裝包檔案名稱 from 主表 where 客戶名稱 = %s"),str);
//MessageBox(temp);
USES_CONVERSION;
::CoInitialize(NULL);
_ConnectionPtr con(__uuidof(Connection));//創建鏈接物件
_RecordsetPtr rst(__uuidof(Recordset));//創建記錄集
_CommandPtr cmd(__uuidof(Command)); //創建COMMAND物件
con->Open("Data Source = ClientMessage;UID=sa;PWD=sa;","","",adModeUnknown);
rst->Open(_variant_t(temp),_variant_t((IDispatch*) con),adOpenDynamic,adLockOptimistic,-1);
while (!rst->adoEOF)
{
m_combo2.AddString(W2A(rst->GetCollect(_variant_t("安裝包檔案名稱")).bstrVal));//(LPCTSTR)(_bstr_t)
rst->MoveNext();
}
}
錯誤如下:

麻煩大俠再給看看,學習一下。
uj5u.com熱心網友回復:
個人強烈建議所有的ADO操作都加上try...catch...列印_com_error的詳細錯誤訊息,否則程式會很容易因為例外掛掉。大家有什么好的資料庫教程請跟帖,我會不定期整理。
//列印呼叫ADO控制元件時產生的詳細錯誤資訊
void dump_com_error(_com_error &e)
{
CString ErrorStr;
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
ErrorStr.Format( "\n\tADO Error\n\tCode = %08lx\n\tCode meaning = %s\n\tSource = %s\n\tDescription = %s\n\n",
e.Error(), e.ErrorMessage(), (LPCTSTR)bstrSource, (LPCTSTR)bstrDescription );
//在除錯視窗中列印錯誤資訊,在Release版中可用DBGView查看錯誤資訊
::OutputDebugString((LPCTSTR)ErrorStr);
#ifdef _DEBUG
AfxMessageBox(ErrorStr, MB_OK | MB_ICONERROR);
#endif
}
try
{
//你的ADO代碼
}
catch(_com_error& e)
{
dump_com_error(e);
}
uj5u.com熱心網友回復:
尚學堂的資料庫教程不錯。uj5u.com熱心網友回復:
你單步除錯,錯在哪里?::CoInitialize(NULL);本人習慣放在app里
m_adoRecordSet->Open((_bstr_t)TableName,_variant_t((IDispatch *) m_adocon,true),adOpenStatic,adLockOptimistic,adCmdTable);
uj5u.com熱心網友回復:
rst->Open(_variant_t(temp),_variant_t((IDispatch*) con),adOpenDynamic,adLockOptimistic,-1);停止在這里不動了。。。uj5u.com熱心網友回復:
樓主怎么解決的,求解!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/150805.html
標籤:數據庫
上一篇:VS2008下使用WINIO初始化失敗StartWinIoDriver()函式
下一篇:求幫助 急
