當前位置:首頁 » 數據倉庫 » mfc資料庫表格
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mfc資料庫表格

發布時間: 2022-09-04 01:21:12

A. MFC 如何將資料庫某表的欄位值(如字元串)直接顯示到下拉框中

你說的下拉框是combox控制項吧,這個控制項有個AddString()的方法,用這個方法添加,當然了你先要用ADO,或者ODBC的方法從資料庫讀出來,如果多條記錄,你都讀出來之後,就要遍歷添加了

B. 用mfc編寫程序 access資料庫新表建立失敗

先建立一個和Data.mdb資料庫的連接(connection),然後才能執行sql語句建立表。

C. 在VC的MFC中,視圖中如何顯示ACCESS資料庫中表的欄位,主要是OLE欄位

用ado,很簡單。介紹很多,就不貼過來了。
數據表直接用access建,也可以用sql語句建。
我用這個鏈接資料庫在別的電腦上還沒遇到過問題

D. MFC下如何查看access資料庫中有多少個表

1,打開該access資料庫,資料庫工具,點擊關系。2,然後便會出現各個表之間對應的關系。點擊它們之間的連線,右擊,便可以看到它們的關系了

E. 怎樣將資料庫中數據表顯示在MFC操作界面上

1. 將MFC對話框中的控制項與變數綁定;
2. 使用資料庫介面(例如OLEDB)讀出所需的數據;
3. 將數據填入變數中。

F. MFC ODBC訪問資料庫多張表

odbc連接A這個資料庫就只需要一個CRecordset,即他的數據源就是A這個資料庫。
多張表的意思是在A這個資料庫中建立多張表,查詢多張表就得靠sql語句來實現。
比如A資料庫中有user和food兩張表,查詢兩個表就得類似的寫select * from user,這是查詢user的所有內容。from就是查詢哪張表。

G. MFC 使用資料庫表的問題

你使用MFC來建立數據源,MFC建立出來的數據集會以表為單位建立類,數據集包含了表中的每個欄位, 對於多表你就多建立幾個數據集就可以了,做到一一對應

H. MFC如何獲得資料庫中表的個數

你首先要創建一個連接資料庫的對象,比如你用cdatabase連接資料庫後,然後用crecordset對象去打開表,那你運行crecordset對象的open函數,其中select語句用下面的格式:
select count(sysobjects.name ) from sysobjects.xtype ='U';
在資料庫的sysobjects表裡有這個資料庫全部表的信息, xtype值為'U'的就是表名;
然後調用movefirst;
然後調用crecordset的getfieldvalue函數既可以獲取值;

I. 怎樣將資料庫中數據表顯示在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;
}