日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ADO连接ACCESS数据库

發布時間:2024/4/18 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ADO连接ACCESS数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用ADOX,需要引入ADOX的動態鏈接庫msadox.dll,首先在stdafx.h中加入如下語句:

#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")

然后在程序初始化的時候需要初始化COM。在App::InitInstance()函數中加入
??? if(!AfxOleInit())
??? {
?????? AfxMessageBox("OLE初始化出錯!");
?????? return FALSE;
??? }


然后進行連接數據庫 // 定義ADO連接、命令、記錄集變量指針
_ConnectionPtr m_pConnection;
_variant_t RecordsAffected;
_RecordsetPtr m_pRecordset;
? try
{
? m_pConnection.CreateInstance(__uuidof(Connection)); //連接SQL SERVER
??//m_pConnection->Open("Driver=SQL Server;Database=test;Server=127.0.0.1;UID=sa;PWD=123;","","",adModeUnknown);
??//連接ACCESS2003
? m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/UserInfo.mdb; Jet OLEDB:DataBase password=123","","",adModeUnknown);
}
catch(_com_error e)
{
? CString errormessage;
? errormessage.Format("連接數據庫失敗!/r錯誤信息:%s",e.ErrorMessage());
? AfxMessageBox(errormessage);
? ExitProcess(0);
}

連接成功之后向數據庫執行查詢語句select ALL* from userinfo,在按鈕里添加如下代碼。

void CUserDlg::OnButtonAll()
{
// TODO: Add your control notification handler code here
m_list.DeleteAllItems();

try
{
? m_pRecordset.CreateInstance("ADODB.Recordset"); //為Recordset對象創建實例
? _bstr_t strCmd = "select ALL* from userinfo";?? //SQL語句
? m_pRecordset=m_pConnection->Execute(strCmd,&RecordsAffected,adCmdText);? //執行
?
}
catch(_com_error &e)
{
? AfxMessageBox(e.Description());
}
? //SQL語句執行成功之后,以下的代碼是獲取記錄返回的數據
_variant_t userid, username, u_groupid, u_tim, u_timed_tim, u_qq,
? u_email,u_realname,u_address,u_postcode,u_phone;

try
{
? while(!m_pRecordset->adoEOF)
? {
?? //獲取返回的記錄
?? userid=m_pRecordset->GetCollect("userid");
?? username=m_pRecordset->GetCollect("username");
?? u_groupid=m_pRecordset->GetCollect("u_groupid");
?? u_tim=m_pRecordset->GetCollect("u_tim");
?? u_timed_tim=m_pRecordset->GetCollect("u_timed_tim");
?? u_qq = m_pRecordset->GetCollect("u_qq");
?? u_email = m_pRecordset->GetCollect("u_email");
?? u_realname = m_pRecordset->GetCollect("u_realname");
?? u_address = m_pRecordset->GetCollect("u_address");
?? u_postcode = m_pRecordset->GetCollect("u_postcode");
?? u_phone = m_pRecordset->GetCollect("u_phone");

? //對返回的用戶信息記錄插入m_list?
?? if(userid.vt!=VT_NULL)
?? {
??? m_list.InsertItem(0,(LPCTSTR)(_bstr_t)userid);
?? }
?? if (username.vt!=VT_NULL)
?? {
??? m_list.SetItemText(0,1,(LPCTSTR)(_bstr_t)username);
?? }
?? if (u_groupid.vt!=VT_NULL)
?? {
??? m_list.SetItemText(0,2,(LPCTSTR)(_bstr_t)u_groupid);
?? }
?? if (u_timed_tim.vt!=VT_NULL)
?? {
??? m_list.SetItemText(0,3,(LPCTSTR)(_bstr_t)u_tim);
?? }
?? if (u_timed_tim.vt!=VT_NULL)
?? {
??? m_list.SetItemText(0,4,(LPCTSTR)(_bstr_t)u_timed_tim);
?? }
?? if (u_qq.vt!=VT_NULL)
?? {
???? m_list.SetItemText(0,5,(LPCTSTR)(_bstr_t)u_qq);
?? }
?? if (u_email.vt!=VT_NULL)
?? {
???? m_list.SetItemText(0,6,(LPCTSTR)(_bstr_t)u_email);
?? }
?? if (u_realname.vt!=VT_NULL)
?? {
???? m_list.SetItemText(0,7,(LPCTSTR)(_bstr_t)u_realname);
?? }
?? if (u_address.vt!=VT_NULL)
?? {
???? m_list.SetItemText(0,8,(LPCTSTR)(_bstr_t)u_address);
?? }
?? if (u_postcode.vt!=VT_NULL)
?? {
???? m_list.SetItemText(0,9,(LPCTSTR)(_bstr_t)u_postcode);
?? }
?? if (u_phone.vt!=VT_NULL)
?? {
???? m_list.SetItemText(0,10,(LPCTSTR)(_bstr_t)u_phone);
?? }

?? m_pRecordset->MoveNext();
? }

}
catch(_com_error &e)
{
? AfxMessageBox(e.Description());
}

m_pRecordset->Close();?? //關閉記錄對象
m_pRecordset=NULL;????

}

總結

以上是生活随笔為你收集整理的ADO连接ACCESS数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。