1.mfc odbc資料庫開發技術
1.利用odbc建立資料來源
2.資料庫連線
1).包含標頭檔案 #include
2).對資料來源進行操作之前需要定義乙個cdatabase物件,**如下
cdatabase m_db;
3).呼叫cdatabase的成員函式openex建立和資料來源的連線,**如下
try
catch(_com_error e)
其中dsn為資料來源名稱,uid資料庫使用者名稱,pwd為相應的密碼
3.資料庫操作
查詢記錄
crecordset rs(&m_db); //crecordset rs; rs = &m_db;
rs.open(crecordset::dynaset, l"select * from test"); //詳見msdn
獲得字段值
getfieldvalue
新增,刪除,修改記錄方法如下
1.先定義相應操作的sql語句
2.呼叫executesql函式即可
ado資料庫開發技術
1.ado是windows環境中比較流行的資料庫程式設計技術。它是建立在ole db底層技術之上的高階程式設計介面,因而具有強大的資料處理功能和簡單易用的程式設計介面,並且得到了廣泛的應用。
ado的底層是ole db(微軟
的戰略性的通向不同的資料來源的低階應用程式介面
),所以不僅能訪問關係型資料庫,也可以訪問非關係型資料庫,更是現在最快速的資料庫訪問中間層。
2.ado主要物件介紹
1).connection object(連線物件)
command object(命令物件)
recordset object(記錄集物件)
field object(字段物件)
record object(記錄物件)
error object(錯誤物件)
parameter object(引數物件)
property object(屬性物件)
stream object(流物件)
其中最重要的是connection object(連線物件),command object(命令物件),recordset object(記錄集物件)
connection object:連線物件代表了乙個和資料來源的連線,之後的資料庫操作都是建立在這個連線上。
command object:命令物件用來處理資料庫的一些操作,在某些方面具有和連線物件相同的功能,例如都可以可行標準的sql語句以及儲存過程,不過命令物件可以返回帶有記錄集的結果。
recordset object:記錄集物件代表了乙個記錄集,用來訪問記錄集。
在使用這三個物件之前,需要定義與之對應的3個職能指標,分別為_connectionptr, _commandptr, _recordsetptr,然後呼叫它們的createinstance函式進行例項化,從而建立這3個物件的例項。
2)._bstr和_variant_t類
在利用ado進行資料庫開發時,_bstr_t和_variant_t兩個類很有用,從來省去了bstr和variant型別轉換的麻煩。
com程式設計不適用cstring類,因為com必須設計成跨平台,它需要一種更普遍的方式來處理字串以及其他資料型別。
3).引入ado庫
在stdafx.h末尾處引入ado庫檔案
#import "c:/program files/common files/system/ado" no_namespace rename("eof", "adoeof")
使用預處理指令import使程式在編譯過程中引入ado動態庫(msado115.dll).no_namespace表明不使用命名空間。rename("eof", "adoeof")表明把ado中用到eof改為adoeof,防止發生命名衝突。
注意:利用應用程式嚮導進行ado資料庫開發時,需要在程式嚮導的第二步選擇(automation)選項,使應用程式能夠支援「自動操作」的方式。
資料庫連線
_connectionptr m_pconnection; //定義乙個_connectionptr指標
m_pconnection.createinstance(_uuidof(connection)); //呼叫createinstance方法例項化
最後,呼叫connection物件的open函式建立資料庫連線,open函式原型如下。
hresult open(
_bstr_t connectiongstring,
_bstr_t userid,
_bstr_t password,
long options);
其中,connectionstring是乙個包含連線資訊的字串,uerid是訪問資料庫的使用者名稱,password是訪問資料庫的秘密,options為可選引數。如果在connectiongstring中包含了資料庫使用者名稱和密碼,uerid和password值可以為空。
下面附上一些**說明(**為我寫的「壁虎桌面日曆」部分**)
連線資料庫
m_pconn.createinstance(__uuidof(connection));
wchar_t wpath[200];
getmodulefilename(null,wpath,200);
pathremovefilespec(wpath);
wcscat(wpath,l"");
wchar_t wconn[400];
wsprintf(wconn,l"provider = microsoft.jet.oledb.4.0; data source = %s; persist security info=false",wpath);
trycatch(_com_error e)
查詢 新增記錄 修改記錄
_recordsetptr rst;
_variant_t var;
hresult hr;
rst.createinstance(_uuidof(recordset)); //開啟連線
char sqlstr[100] = ;
sprintf(sqlstr, "select * from memoinfo where date = '%d-%d-%d'",
m_memodlg.m_year, m_memodlg.m_month, m_memodlg.m_date);
trycatch(_com_error *e)
if (rst->adoeof)
else
rst->close();
rst = null;
刪除rst->delete(adaffectcurrent);
還可以利用ado資料控制項進行資料庫程式設計,具體參考visual c++ sql server資料庫開發與例項
資料庫 SQL基礎
1 建立表的格式create table 表名 列名稱1 資料型別,列名稱2 資料型別,列名稱3 資料型別,2 新增條件 設定此列是否可以為空,如果此列必須要填入資料則要在 列名稱後面新增not null 即 列名稱1 資料型別 not null 新增主鍵的兩種格式 1 列名稱1 資料型別 prim...
SQL資料庫基礎
sql資料庫基礎 一 引言 1 什麼是資料庫?資料庫 dbs 就是乙個以某種有阻止的方式儲存的集合。2 什麼是資料庫管理系統?資料庫管理系統 dbms 說白了就是方便運算元據庫的軟體,例如sql2005這個軟體,它就是資料庫管理系統。通過這個軟體可以鏈結到資料庫dbs,可以查詢 新建 刪除 更改資料...
SQL資料庫基礎
sql 概要 1.sql 語句 用關鍵字 表名和列名等組合而成的一條語句。2.3 種 sql 語句種類 1 ddl data definition language,資料定義語言 建立 刪除或修改資料庫以及資料庫中的表等物件。create 建立資料庫和表等物件 drop 刪除資料庫和表等物件 alt...