mfcaccess資料庫
① mfc ado查詢access資料庫問題
數據查詢到的結果是在list control控制項中顯示出來啊
② 如何使用MFC連接ACCESS資料庫
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///
if( TRUE == SUCCEEDED(hr))
{
strDBFile = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDBFile;
hr = m_pConnection->Open((_bstr_t)strDBFile ,_bstr_t(strUser),_bstr_t(strUser),adModeUnknown);
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("%s",e.ErrorMessage());
AfxMessageBox(errormessage);
return FALSE;
}
③ 在MFC中使用ADO連接ACCESS資料庫
在StdAfx.h中導入ADO動態鏈接庫
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \
rename("EOF","adoEOF")rename("BOF","adoBOF")
是不是沒有初始化COM啊?
if (CoInitialize(NULL)!=0)
{
版AfxMessageBox("初始化COM支持庫失敗權!");
exit(1);
}
try
{
m_pConn.CreateInstance("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=***.mdb","","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
}
m_pRs.CreateInstance(__uuidof(Recordset));
④ MFC對話框如何讀取access資料庫
首先在stdafx.h中添加如下
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
上面的路徑根據你自己的更改
然後在你要查詢的地方寫如下代碼:
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
_CommandPtr pCmd(__uuidof(Command));
pConn->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\a.mdb";
//這里的資料庫也是你的絕對路徑
pConn->Open("","","",adConnectUnspecified);
pRst = pConn->Execute("Select * from ...",NULL,adCmdText);
while(!pRst->rsEOF)
{
/*
這里寫你怎麼把數據讀取到外面,如下面是吧數據讀到一個ListB0x控制項中
((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("這里寫屬性名"));
*/
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
pCmd.Release();
CoUninitialize();
⑤ mfc中連接access資料庫的詳細步驟都是什麼
比如在你的工程目錄中建一個 dbf\vir.mdb //Access資料庫,然後你需要做以下操作:
1.在StadAfx.h裡面添加#include <afxdb.h> //新加入頭文件,用於CDatabase類。
2.在StadAfx.h最後的#endif上添加#import "msado15.dll" no_namespace rename("EOF","rsEOF")
這時,你要把msado15.dll拷到與dbf同級的目錄,也就是工程目錄里,當然你可以該路徑
3.在你自己的工程里,比如MyProc是你建的工程,添加代碼
CMyPorcApp::CMyProcApp(){
CoInitialize(NULL);
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",\
"DSN=MyImage;DBQ=dbf\\vir.mdb;DEFAULTDIR=dbf"); //注冊本地資料庫數據源
m_db.OpenEx("DSN=MyImage;;",CDatabase::noOdbcDialog);//MyImage是數據源名稱
}
4.在前面的函數體之前創建全局變數CDatabase m_db; CRecordset m_rec(&m_db);
5.使用資料庫{
CString strSQL="select * from virdb";
BSTR bstrSQL=strSQL.AllocSysString();
m_rec.Open(CRecordset::dynaset,strSQL);
while(!m_rec.IsEOF())
{
// 使用資料庫的代碼,讀出來的數據都是字元串型的
CString MyVirable;
m_rec.GetFieldValue("欄位名",MyVirable); //將某個欄位的當前行的值讀到MyVirabl中
// ......
m_rec.MoveNext(); //將記錄移到下一行
}
}
本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.
⑥ MFC怎麼連接access資料庫
1、在的工程中添加一個access文件
2、在MFC中添加記錄集
try
{
m_pConn.CreateInstance("ADODB.Connection");
_bstr_t Connection ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\aaaa.mdb;Persist Security Info=False";//aaaa為你的access的文件名
m_pConn->Open(Connection, "", "", adConnectUnspecified);
}
catch(_com_error &e)
{
::CoUninitialize();
::AfxMessageBox(e.ErrorMessage());
return FALSE;
}
3、在stdAfx.h文件中添加語句
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "ENDOFFILE")
4、在需要打開資料庫的地方添加打開表的函數
StrSQL="Select * From bbbb";//bbbb為表名
m_pRs.CreateInstance("ADODB.Recordset");
m_pRs->Open((_variant_t)StrSQL, _variant_t((IDispatch *)theApp.m_pConn,true), adOpenStatic, adLockOptimistic, adCmdText);
{
UpdateData(TRUE);
//需要乾的事情
m_pRs->Update();
}
m_pRs->Close();
⑦ mfc中如何連接access資料庫 求詳細步驟
比如在你的工程目錄中建一個 dbfvir.mdb //Access資料庫,然後你需要做以下操作:
1.在StadAfx.h裡面添加#include <afxdb.h> //新加入頭文件,用於CDatabase類。
2.在StadAfx.h最後的#endif上添加#import "msado15.dll" no_namespace rename("EOF","rsEOF")
這時,你要把msado15.dll拷到與dbf同級的目錄,也就是工程目錄里,當然你可以該路徑
3.在你自己的工程里,比如MyProc是你建的工程,添加代碼
CMyPorcApp::CMyProcApp(){
CoInitialize(NULL);
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",
"DSN=MyImage;DBQ=dbf\vir.mdb;DEFAULTDIR=dbf"); //注冊本地資料庫數據源
m_db.OpenEx("DSN=MyImage;;",CDatabase::noOdbcDialog);//MyImage是數據源名稱
}
4.在前面的函數體之前創建全局變數CDatabase m_db; CRecordset m_rec(&m_db);
5.使用資料庫{
CString strSQL="select * from virdb";
BSTR bstrSQL=strSQL.AllocSysString();
m_rec.Open(CRecordset::dynaset,strSQL);
while(!m_rec.IsEOF())
{
// 使用資料庫的代碼,讀出來的數據都是字元串型的
CString MyVirable;
m_rec.GetFieldValue("欄位名",MyVirable); //將某個欄位的當前行的值讀到MyVirabl中
// ......
m_rec.MoveNext(); //將記錄移到下一行
}
}
本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.
⑧ MFC怎麼刪除ACCESS資料庫的內容
解決方案1:
調用delete函數。
解決方案2:
delete from StuMessage where StuCode=%d",sCode),adCmdText),NULL;
str;
沒執行這條sql語句,在下面加上m_recs->Execute(_bstr_t(str).Format("CString str
⑨ c++ mfc odbc怎麼調用access資料庫
比如在你的工程目錄中建一個 dbf\vir.mdb //Access資料庫,然後你需要做以下操作:
1.在StadAfx.h裡面添加#include <afxdb.h> //新加入頭文件,用於CDatabase類。
2.在StadAfx.h最後的#endif上添加#import "msado15.dll" no_namespace rename("EOF","rsEOF")
這時,你要把msado15.dll拷到與dbf同級的目錄,也就是工程目錄里,當然你可以該路徑
3.在你自己的工程里,比如MyProc是你建的工程,添加代碼
CMyPorcApp::CMyProcApp(){
CoInitialize(NULL);
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",\
"DSN=MyImage;DBQ=dbf\\vir.mdb;DEFAULTDIR=dbf"); //注冊本地資料庫數據源
m_db.OpenEx("DSN=MyImage;;",CDatabase::noOdbcDialog);//MyImage是數據源名稱
}
4.在前面的函數體之前創建全局變數CDatabase m_db; CRecordset m_rec(&m_db);
5.使用資料庫{
CString strSQL="select * from virdb";
BSTR bstrSQL=strSQL.AllocSysString();
m_rec.Open(CRecordset::dynaset,strSQL);
while(!m_rec.IsEOF())
{
// 使用資料庫的代碼,讀出來的數據都是字元串型的
CString MyVirable;
m_rec.GetFieldValue("欄位名",MyVirable); //將某個欄位的當前行的值讀到MyVirabl中
// ......
m_rec.MoveNext(); //將記錄移到下一行
}
}
本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.