VC連接Access數據庫字符串

ADO方式連接數據庫:
引入類型庫:
 stdafx.h頭文件中加入#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","END")
數據庫連接:
 _ConnectionPtr pconnection;
初始化COM庫
 AfxOleInit();
連接數據庫:
 pconnection.CreateInstance("ADODB.Connection");
 pconnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=student.accdb;","","",adModeUnknown);
  //這裏是07版Access
-------------------------------------
數據庫操作:
 _RecordsetPtr recordset;
 recordset.CreateInstance("ADODB.Recordset");########每次執行sql語句前必須使用
定義sql語句:
 cmd="***";
執行sql語句:
 hr=recordset->Open((_variant_t)cmd,_variant_t((IDispatch*)pconnection,true),adOpenStatic,adLockOptimistic,adCmdText);
取得查詢語句結果:
 if(!recordset->END)
 {
  m_strName=(char *)(_bstr_t)record->GetCollect("姓名");
 }
-----------------------------------
拋出對話框
CLoginDlg LoginDlg;
if(LoginDlg.DoModal()==IDOK){}
else{}
-----------------------------------
操作過程中可以用try--catch進行除錯:
 try{}
 catch(_com_error e){}錯誤信息在e.ErrorMessage中
檢查函數是否有返回時候可用:
 HRESULT hr;
 if(SUCCEEDED(hr)) {}
----------------------------------
在程序開始時候調用登錄框:
 在主程序初始化的時候定義一個登錄框:
 CLoginDlg LoginDlg;
 if(LoginDlg.DoModal()==IDOK){}
----------------------------------
數據庫使用完畢後關閉連接:
pconnection->Close();
recordset->Close();
#pconnection.Release;
#recordset.Release;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!UserId在Access數據庫中不能隨便用
SQL語句:
表的建立刪除及更新:
建立CREATE TABLE XX(
 S# CHAR(4) NOT NULL,
 SNAME CHAR(10) NOT NULL,
 SEX CHAR(2),
 AGE SMALLINT,
 ADDRESS CHAR(20),
 PRIMARY KEY(S#))//說明主鍵
刪除DROP TABLE XX
更新ALTER TABLE XX(
 ADD XX CHAR(4) NOT NULL,
 DROP XX CHAR(4) NOT NULL,
 MODIFY XX CHAR(4));
索引的建立
 CREATE UNIQUE INDEX XXON 列名1,列名2·····
索引刪除
 DROP INDEX 索引名;
數據庫查詢語句
 SELECT * FROM XX WHERE XX='' AND XX=''
-------------------------------------------------
數據的操作
插入數據INSERT INTO STU VALUES(10,'李六',17,'南京','2342342')
修改數據UPDATE STU SET AGE=23 WHERE S#='10'
刪除數據DELETE FROM STU WHERE S#='1'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章