SQL資料庫開發基礎

2021-05-25 11:17:27 字數 3439 閱讀 1025

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...