mfc資料庫顯示
❶ mfc里怎樣使資料庫里的數據在列表框里顯示
你的標准參數表在哪兒?
如果你的標准參數在資料庫中的話
你就要定義一個CDataBase類的對象,然後用他來打開資料庫。然後定義一個CRecordSet類的對象,用它來進行對資料庫的select查詢(這個查詢的結果最後會返回至對象中)。然後你在把這個對象里的內容和對話框中每個文本框內的數據進行比較就可以了啊。
具體可能比較復雜,但是思路還是比較簡單的,如果有不會的 可以繼續追問
❷ 怎樣將資料庫中數據表顯示在MFC中的列表控制項上,並對其進行刪除,修改
列表顯示只是一個表象,二者沒有設定好的關聯。實際的刪除操作應該在資料庫中進行,也就是執行刪除工作後,你得把列表數據刷新一下,重新顯示。
具體的函數實現,如果需要我再貼上來。
void CMCTTView::ListItem()//刷新列表
{
int i = 0;
if(!m_pSet->IsOpen())
AfxMessageBox("數據源未打開");
m_Item.SetExtendedStyle(m_Item.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
m_Item.DeleteAllItems();
m_Item.SetRedraw(FALSE);
if (!m_pSet->GetRecordCount() == 0)
{
m_pSet->MoveFirst();
}
while(!m_pSet->IsEOF())
{
m_Item.InsertItem(i,"");
m_Item.SetItemText(i,0,m_pSet->m_column1);
m_Item.SetItemText(i,1,m_pSet->m_column2);
m_Item.SetItemText(i,2,m_pSet->m_column3);
m_Item.SetItemText(i,3,m_pSet->m_column4);
i+=1;
m_pSet->MoveNext();
}
m_Item.SetRedraw(TRUE);
}
void CMCTTView::OnItemDel() //在view類中刪除條目
{
// TODO: Add your control notification handler code here
int listIndex; //當前選中項的索引
//首先得到點擊的位置
POSITION pos=m_Item.GetFirstSelectedItemPosition(); //0 based m_item是指代列表控制項
if(pos==NULL)
return;
//得索引,通過POSITION轉化
listIndex=m_Item.GetNextSelectedItem(pos)+1; //1 based,so 1 added
m_pSet->SetAbsolutePosition(listIndex);
if ( MessageBox( _T( "你確定要刪除當前單詞信息嗎?" ),
_T( "刪除確認?" ), MB_OKCANCEL | MB_ICONQUESTION ) == IDOK )
{
m_pSet->Delete();
MessageBox( _T( "該單詞信息已經被成功刪除!" ),
_T( "刪除成功!" ), MB_OK | MB_ICONASTERISK );
OnNext();
}
m_pSet->Requery();
//if(!m_pSet->GetRecordCount() == 0)
ListItem();
}
void CMCTTView::OnNext()
{
m_pSet->MoveNext();
if ( m_pSet->IsEOF() )
m_pSet->MoveFirst();
}
int CMCTTDoc::AddToAcc()//在doc類中添加數據
{
m_mCTTSet.AddNew();
CString str1,str2,str3,str4;
str1.Format("%s",m_Index);
str2.Format("%f",m_UseHs);
str3.Format("%f",m_UseHj);
switch (m_HJStyle)
{
case 0:
str4 = CString("類型1");
break;
case 1:
str4 = CString("類型2");
break;
case 2:
str4 = CString("類型3");
break;
}
m_mCTTSet.m_column1 = str1; //Index
m_mCTTSet.m_column2 = str2; //the use of hansi
m_mCTTSet.m_column3 = str3; //the use of hanji
m_mCTTSet.m_column4 = str4; //the style of hanjie
m_mCTTSet.Update();
m_mCTTSet.Requery();
MessageBeep(MB_OK);
CMainFrame* pframe = (CMainFrame*)AfxGetMainWnd();
CMCTTView* pInterfaceView = (CMCTTView*)pframe->GetActiveView();
pInterfaceView->ListItem();
return 0;
}
❸ MFC下ado連接資料庫出現IDispatch error #3149,求大神指導下
1.import 文件沒有?
2.連接資料庫伺服器的字串寫正確了嗎?
3.資料庫伺服器開起了嗎?
4.initstance函數寫正確沒?
mfc連資料庫不外乎這四種情況。