1.想用VC2010組合框鏈接ACCESS資料庫,ODBC方式,實作把資料表的內容顯示到組合框的下拉串列,另外往組合框輸入新的條目會自動錄入資料庫,請教怎么實作,或者有沒有可參考的例子,謝謝;
2. VC2010 使用 DATAGRID必須注冊嗎,還有DATAGRID鏈接資料庫可以用ODBC方式嗎,我百度的結果大家都是用ADO.
小白一個,有熱心的前輩指點一下。
uj5u.com熱心網友回復:
主要就是連接欄位, 其它的ODBC的方法和操作SQL都是差不多的
void TestAccessDBData(LPCTSTR szFilePath, LPCTSTR szUID, LPCTSTR szPWD, LPCTSTR szTabName)
{
try
{
//構造連接字符
CString szConnect;
szConnect.Format(
_T("Driver={Microsoft Access Driver (*.mdb)};")
_T("DBQ=%s;")
_T("UID=%s;PWD=%s;"),
szFilePath, szUID, szPWD);
//打開資料庫
CDatabase db;
if(db.OpenEx(szConnect, db.noOdbcDialog|db.useCursorLib))
{
//查詢
try
{
CString szCmd;
szCmd.Format(_T("SELECT * FROM %s"), szTabName);
//這里可以添加附加WHERE條件 如 WHERE ID='1234'
CRecordset rs(&db);
if(rs.Open(AFX_DB_USE_DEFAULT_TYPE, szCmd, rs.executeDirect))
{
while(! rs.IsEOF())
{
CString sVal;
rs.GetFieldValue(_T("ID"), sVal);
TRACE(_T("ID=%s\n"), (LPCTSTR)sVal);
rs.MoveNext();
}
//關閉查詢
rs.Close();
}
}
catch(CDBException *e)
{
e->ReportError();
e->Delete();
}
//插入輸入 (INSERT INTO)
try
{
CString szCmd;
szCmd.Format(_T("INSERT INTO %s (ID, Name) VALUES ('1234', 'test')"),
szTabName);
db.ExecuteSQL(szCmd);
}
catch(CDBException *e)
{
e->ReportError();
e->Delete();
}
//關閉資料庫
db.Close();
}
}
catch(CDBException *e)
{
e->ReportError();
e->Delete();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/61034.html
標籤:基礎類
