久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié)

時間:2019-05-13 17:13:40下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié)》。

第一篇:VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié)

VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié)

VC++中使用MFC通過ADO連接數(shù)據(jù)庫方法小結(jié)(不包括異常的捕捉)這里主要講MFC與SQL2000數(shù)據(jù)庫的連接。1.在StdAfx.h頭文件中加入此句子

#import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”,“adoEOF”)2.在App類的InitInstance()函數(shù)中加入 ::CoInitialize(NULL);//表示com庫的初始化

鼠標(biāo)右鍵點擊App類名添加虛函數(shù)ExitInstance(),在其中加入代碼 ::CoUninitialize();//釋放com庫。3.獲取連接字符串。

最簡單的方法就是新建一個.txt文件,將其后綴名改為.udl,雙擊它,在“提供程序”標(biāo)簽頁中選擇“Microsoft OLE DB Provide fo Sql Server”,然后在“連接”標(biāo)簽頁選擇填寫服務(wù)器、數(shù)據(jù)庫、登陸方式等信息,最后按“確定”。連接完成之后,將其用寫字板打開,第三行信息,如“Provider=SQLOLEDB.1;Integrated

Security=SSPI;Persist

Security Info=False;Initial Catalog=RuleDB_Data;Data Source=PYE”即為連接字符串。注意,若數(shù)據(jù)庫位于本機,在選擇填寫服務(wù)器一欄可直接填寫(local),記得一定要加括號。4.連接數(shù)據(jù)庫

在這里引入一個編寫好的封裝類:ADOConn。該類封裝了連接數(shù)據(jù)庫,對數(shù)據(jù)庫進行添加、刪除、修改操作及獲取查詢記錄集操作的方法。用戶可直接使用,這個類的頭文件和cpp文件內(nèi)容將在本文最后給出。

在一個工程里加入該類的方法為:把該類的頭文件和cpp文件拷貝到工程所在的文件夾里。然后在工程的工作區(qū)選擇Project->Add to Project->Files,將這兩個文件選擇加入。之后,就可以在程序里應(yīng)用這個類了。

首先在要用到數(shù)據(jù)庫的類的頭文件里設(shè)一個該類的對象,即加入代碼:ADOConn m_Ado;注意:記得要先在最前面加入#include “ADOConn.h”。

在應(yīng)用這個對象對數(shù)據(jù)庫進行操作之前,先對其初始化: m_Ado.OnInitADOConn(strConnect);其中strConnect即為上面獲取的連接字符串。

若要獲取數(shù)據(jù)庫中的部分記錄集,用m_Ado.GetRecordSet(strSql);其中strSql中存放查詢語句,查詢結(jié)果存放于m_Ado.m_pRecordset中,然后可用GetCollect()函數(shù)挨個獲取所有符合條件的記錄的各個字段的值。用完后記得用m_Ado.m_pRecordset.Close()關(guān)閉記錄集。

添加、修改、刪除操作,均用 m_Ado.ExecuteSQL(strSql);語句完成。

此外,若同時需要多種記錄集,則還需在要用到數(shù)據(jù)庫的類的頭文件里添加記錄集的對象,即_RecordsetPtr m_pRecordset;m_pRecordset在用之前也需初始化,初始化語句為: m_pRecordset.CreateInstance(__uuidof(Recordset));,同樣的,每回記錄集用完之后也得用Close()函數(shù)關(guān)閉。5.若在數(shù)據(jù)庫應(yīng)用程序編譯時遇到102個錯誤,則可把Debug文件夾刪了重新編譯即可。ADOConn類的頭文件:

#if!defined(AFX_ADOCONN_H__2B491720_FA04_4800_B616_219E55ABEA46__INCLUDED_)#define AFX_ADOCONN_H__2B491720_FA04_4800_B616_219E55ABEA46__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class ADOConn : public CObject { public: //添加一個指向Connection對象的指針: _ConnectionPtr m_pConnection;//添加一個指向Recordset對象的指針: _RecordsetPtr m_pRecordset;char error[1024];public: _ConnectionPtr& GetConnPtr(){return m_pConnection;} _RecordsetPtr& GetRecoPtr(){return m_pRecordset;} public: //事務(wù)回滾

BOOL RollbackTrans();//遞交 事務(wù) BOOL CommitTrans();//事務(wù)開始 BOOL BeginTrans();BOOL adoBOF();//頭 BOOL adoEOF();//尾 BOOL MoveNext();//下一個 BOOL CloseTable();//關(guān)閉表

BOOL CloseADOConnection();//關(guān)閉連接

BOOL GetCollect(LPCTSTR Name,CString &lpDest);//獲取某個字段的值 //執(zhí)行SQL語句 包含update delete insert BOOL ExecuteSQL(LPCTSTR lpszSQL);//初始化連接數(shù)據(jù)庫

BOOL OnInitADOConn(LPCTSTR ConnStr);// 執(zhí)行select語句 獲取記錄集

_RecordsetPtr& GetRecordSet(LPCTSTR lpszSQL);ADOConn();virtual ~ADOConn();};#endif //!defined(AFX_ADOCONN_H__2B491720_FA04_4800_B616_219E55ABEA46__INCLUDED_)class CADOException : public CException { public: // Constructor CADOException(char* pchMessage);public: ~CADOException(){} CString m_strMessage;virtual BOOL GetErrorMessage(LPTSTR lpstrError, UINT nMaxError, PUINT pnHelpContext = NULL);private: int m_nError;};ADOConn類的cpp文件: #include “stdafx.h” #include “ADOConn.h” #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__;#define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// ADOConn::ADOConn(){ memset(error,0,1024);} ADOConn::~ADOConn(){ } ////////////////////////////////////////////////////////////////////// // CADOException Class ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CADOException::CADOException(char* pchMessage){ m_strMessage = pchMessage;m_nError = GetLastError();} BOOL CADOException::GetErrorMessage(LPTSTR

lpstrError,UINT nMaxError,PUINT pnHelpContext /*= NULL*/){

char text[200];if(m_nError == 0){ wsprintf(text, “%s error”,(const char*)m_strMessage);} else { wsprintf(text, “%s error #%d”,(const char*)m_strMessage, m_nError);} strncpy(lpstrError, text, nMaxError-1);return TRUE;} BOOL ADOConn::OnInitADOConn(LPCTSTR ConnStr){ ::CoInitialize(NULL);try { // 創(chuàng)建Connection對象

m_pConnection.CreateInstance(“ADODB.Connection”);// 設(shè)置連接字符串,必須是BSTR型或者_(dá)bstr_t類型 _bstr_t strConnect

=

_bstr_t(ConnStr);//“Provider=SQLOLEDB;Server=127.0.0.1;Database=EventLogg;uid=event;pwd=event;”;m_pConnection->Open(strConnect,“",”“,adModeUnknown);return TRUE;} // 捕捉異常 catch(_com_error e){ // 顯示錯誤信息 TRACE(e.Description());// sprintf(error,”連接數(shù)據(jù)庫失敗 請檢查連接字符串rn當(dāng)前連接字符串為:%s“,ConnStr);// throw new CADOException(error);throw new CADOException(”連接數(shù)據(jù)庫失敗“);} } //執(zhí)行SQL語句 包含update delete insert BOOL ADOConn::ExecuteSQL(LPCTSTR lpszSQL){ // _variant_t RecordsAffected;try { // Connection對象的Execute方法:(_bstr_t CommandText, // VARIANT * RecordsAffected, long Options)

// 其中CommandText是命令字串,通常是SQL命令。// 參數(shù)RecordsAffected是操作完成后所影響的行數(shù),// 參數(shù)Options表示CommandText的類型:adCmdText-文本命令;adCmdTable-表名

// adCmdProc-存儲過程;adCmdUnknown-未知

m_pConnection->Execute(_bstr_t(lpszSQL),NULL,adCmdText);return true;} catch(_com_error e){ TRACE(e.Description());// sprintf(error,”t執(zhí)行SQL語句失敗rn SQL語句為:%s“,lpszSQL);// throw new CADOException(error);throw new CADOException(”執(zhí)行SQL語句失敗“);} } //執(zhí)行SELECT語句,獲得結(jié)果集,結(jié)果集放在m_pRecordset中 _RecordsetPtr& ADOConn::GetRecordSet(LPCTSTR lpszSQL){ try { // 創(chuàng)建記錄集對象

m_pRecordset.CreateInstance(__uuidof(Recordset));// 取得表中的記錄

m_pRecordset->Open(_bstr_t(lpszSQL),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);} // 捕捉異常 catch(_com_error e){ // 顯示錯誤信息 TRACE(e.Description());// sprintf(error,”t執(zhí)行SELECT語句失敗rnSELECT語句為:%s“,lpszSQL);// throw new CADOException(error);throw new CADOException(”執(zhí)行SELECT語句失敗“);} // 返回記錄集 return m_pRecordset;} //獲取某個字段的值

BOOL ADOConn::GetCollect(LPCTSTR Name,CString &lpDest){ VARIANT vt;try { vt = m_pRecordset->GetCollect(Name);/* _bstr_t bstr =(_bstr_t)vt;if(lpDest!= ”“){ strcpy(lpDest,bstr);}*/ if(vt.vt!=VT_NULL)lpDest=(LPCSTR)_bstr_t(vt);else lpDest=”“;} catch(_com_error e){ TRACE(e.Description());sprintf(error,”獲取字段:%s值失敗“,Name);throw new CADOException(error);} return TRUE;} //關(guān)閉數(shù)據(jù)庫

BOOL ADOConn::CloseADOConnection(){ try { m_pConnection->Close();} catch(_com_error e){ TRACE(e.Description());sprintf(error,e.Description());throw new CADOException(”關(guān)閉數(shù)據(jù)庫失敗“);} return TRUE;} //關(guān)表

BOOL ADOConn::CloseTable(){ try { m_pRecordset->Close();} catch(_com_error e){ TRACE(e.Description());sprintf(error,e.Description());throw new CADOException(”關(guān)閉表失敗“);} return TRUE;} //下一個

BOOL ADOConn::MoveNext(){ try { m_pRecordset->MoveNext();} catch(_com_error e){ TRACE(e.Description());sprintf(error,e.Description());throw new CADOException(”結(jié)果集移向下一個失敗“);} return TRUE;} //尾

BOOL ADOConn::adoEOF(){ return m_pRecordset->adoEOF;} //頭

BOOL ADOConn::adoBOF(){ return m_pRecordset->BOF;} //事務(wù)開始

BOOL ADOConn::BeginTrans(){ try { m_pConnection->BeginTrans();} catch(_com_error e){ TRACE(e.Description());sprintf(error,e.Description());throw new CADOException(”事務(wù)開始失敗“);}

return TRUE;} //遞交事務(wù)

BOOL ADOConn::CommitTrans(){ try { m_pConnection->CommitTrans();} catch(_com_error e){ TRACE(e.Description());sprintf(error,e.Description());throw new CADOException(”遞交事務(wù)失敗“);} return TRUE;} //事務(wù)回滾

BOOL ADOConn::RollbackTrans(){ try { m_pConnection->RollbackTrans();} catch(_com_error e){ TRACE(e.Description());sprintf(error,e.Description());throw new CADOException(”回滾事務(wù)失敗");} return TRUE;}

第二篇:ADO編程模型之VB數(shù)據(jù)庫操作小結(jié)

ADO編程模型之VB數(shù)據(jù)庫操作小結(jié)

使用ADO編程模型需添加ADO對象類庫的“引用”----“Microsoft ActiveX Data Objects 2.x Library” ADO之VB數(shù)據(jù)庫操作主要包括讀、寫、修改及刪除等操作,不論是進行什么數(shù)據(jù)庫操作都必須首先連接到數(shù)據(jù)庫。

一、連接到數(shù)據(jù)庫

1、連接到SQL數(shù)據(jù)庫:

通過ADO的Connection對象可實現(xiàn)VB與SQL數(shù)據(jù)庫的連接。一般方法如下:

Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象

cnn.ConnectionString = “Provider=SQLOLEDB.1;Password=密碼;User ID=用戶名;Initial Catalog=SQL數(shù)據(jù)庫文件;Data Source= localhost;”

'指定提供者,設(shè)置數(shù)據(jù)源 cnn.Open

‘打開到數(shù)據(jù)庫的連接 ……..cnn.Close

‘關(guān)閉到數(shù)據(jù)庫的連接 或者:

Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象

cnn.Open “Provider=SQLOLEDB.1;Password=密碼;User ID=用戶名;Initial Catalog=SQL數(shù)據(jù)庫文件;Data Source= localhost;”

‘打開到數(shù)據(jù)庫的連接 ……..cnn.Close

‘關(guān)閉到數(shù)據(jù)庫的連接

2、連接到ACCESS數(shù)據(jù)庫:

通過ADO的Connection對象可實現(xiàn)VB與ACCESS數(shù)據(jù)庫的連接。一般方法如下:

Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象

cnn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS數(shù)據(jù)庫文件.MDB” '指定提供者,設(shè)置數(shù)據(jù)源

cnn.Open

‘打開到數(shù)據(jù)庫的連接 ……..cnn.Close

‘關(guān)閉到數(shù)據(jù)庫的連接 或者: Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB”

‘打開到數(shù)據(jù)庫的連接 ……..cnn.Close

‘關(guān)閉到數(shù)據(jù)庫的連接

二、讀數(shù)據(jù)庫操作

讀數(shù)據(jù)庫操作一般可通過recordset對象實現(xiàn)。方法如下—以ACCESS數(shù)據(jù)庫為例:

Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB”

‘打開到數(shù)據(jù)庫的連接

Dim rs As New Recordset

'聲明一個記錄集對象

rs.Open [記錄源, cnn, 游標(biāo)類型, 鎖定類型, 命令類型]

‘也可先設(shè)置記錄集相關(guān)屬性

text1.text= rs(“字段名稱1或索引”)

‘假設(shè)讀取出來的字段信息顯示在文本框中,三種讀取方法等價 text2.text=rs.fields(“字段名稱2或索引”)text3.text= rs!字段名稱3 …….rs.close

‘關(guān)閉記錄集對象 cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接 set rs=Nothing

‘釋放rs對象實例 set cnn=Nothing ‘釋放Connection對象實例

? 記錄源一般為一條SQL查詢語句,以實現(xiàn)查詢目的。

? Recordset對象還保持查詢返回的記錄的位置,它返回第一個檢索到的記錄,并允許你一次一項逐步掃描其他結(jié)果。Recordset對象的部分屬性及方法如下 Rs(i): 讀取第i個字段的數(shù)據(jù),i從0開始 Rs(字段名): 讀取指定字段的數(shù)據(jù) Rs.EOF:記錄指針指到記錄的尾部 Rs.BOF:記錄指針指到記錄的頭部 Rs.RecordCount: 游標(biāo)中的數(shù)據(jù)記錄總數(shù)

Rs.PageSize:當(dāng)對象設(shè)有分頁時,用于指定邏輯頁中的記錄個數(shù) Rs.PageCount:返回記錄集中的邏輯分頁數(shù) Rs.MoveNext: 將記錄指針移到下一個記錄 Rs.MovePrev: 將記錄指針移到上一個記錄 Rs.MoveFirst: 將記錄指針移到第一個記錄 Rs.MoveLast: 將記錄指針移到最后一個記錄 rs.Delete:將當(dāng)前記錄刪除 rs.addnew:添加一條新記錄(行)

? 如果要讀取滿足條件的數(shù)據(jù)庫記錄,只要在SELECT語句中增加WHERE子句即可(例如:WHERE 性別=”男”),如果要讀取多條滿足條件的數(shù)據(jù)庫記錄,可通過循環(huán)語句來實現(xiàn),并且每讀取一條記錄后使用Rs.MoveNext移動記錄指針以讀取下一條記錄。

三、寫數(shù)據(jù)庫操作

方法1:使用recordset對象(此方法一般初學(xué)者使用較多)。方法如下—以ACCESS數(shù)據(jù)庫為例: Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB”

‘打開到數(shù)據(jù)庫的連接

Dim rs As New Recordset

'聲明一個記錄集對象

rs.Open [記錄源, cnn, 游標(biāo)類型, 鎖定類型, 命令類型]

‘也可先設(shè)置記錄集相關(guān)屬性 rs.addnew ‘告訴rs我們要添加一行

rs(“字段名稱1或索引”)=值1

‘給要添加的行的一個字段賦值,三種方法等價 rs.fields(“字段名稱2或索引”)=值2 rs!字段名稱3 =值3 …….rs.update

‘通知rs我們要把這個行寫入數(shù)據(jù)庫 rs.close

‘關(guān)閉記錄集對象 cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接 set rs=Nothing

‘釋放rs對象實例 set cnn=Nothing ‘釋放Connection對象實例

? addnew使用方法后,如果要放棄添加的結(jié)果,應(yīng)調(diào)用記錄集的CancelUpdate方法放棄。

方法2:使用Connection對象的Execute方法對表進行SQL記錄插入操作(要求要熟悉SQL命令)Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB”

‘打開到數(shù)據(jù)庫的連接

strSQL = “Insert Into 數(shù)據(jù)表(字段1, 字段2…..)Values(值1, 值2…..)

‘拼寫Insert插入語句 cnn.Execute strSQL

'執(zhí)行Insert語句實現(xiàn)添加 …….cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接

set cnn=Nothing ‘釋放Connection對象實例

四、修改數(shù)據(jù)庫操作

方法1:使用recordset對象(此方法一般初學(xué)者使用較多)。方法如下—以ACCESS數(shù)據(jù)庫為例: Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB“

‘打開到數(shù)據(jù)庫的連接

Dim rs As New Recordset

'聲明一個記錄集對象

rs.Open [記錄源, cnn, 游標(biāo)類型, 鎖定類型, 命令類型]

‘也可先設(shè)置記錄集相關(guān)屬性 …….rs(”字段名稱1或索引“)=新值1

‘‘給要修改的行的一個字段賦一個新值,三種方法等價 rs.fields(”字段名稱2或索引“)=新值2 rs!字段名稱3 =新值3 …….rs.update

‘通知rs,我們要把修改好的記錄行寫入數(shù)據(jù)庫 rs.close

‘關(guān)閉記錄集對象 cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接 set rs=Nothing

‘釋放rs對象實例 set cnn=Nothing ‘釋放Connection對象實例

? 如果放棄修改結(jié)果,應(yīng)調(diào)用記錄集的CancelUpdate方法放棄更新數(shù)據(jù)庫。

方法2:使用Connection對象的Execute方法對表進行SQL記錄更新操作(要求要熟悉SQL命令)Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB“

‘打開到數(shù)據(jù)庫的連接

strSQL = ”Update 數(shù)據(jù)表 Set 字段1=新值1, 字段2=新值2…..‘拼寫Update語句,以便進行修改 cnn.Execute strSQL

'執(zhí)行Insert語句實現(xiàn)添加 …….cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接

set cnn=Nothing ‘釋放Connection對象實例

五、刪除數(shù)據(jù)庫操作

方法1:使用recordset對象(此方法一般初學(xué)者使用較多)。方法如下—以ACCESS數(shù)據(jù)庫為例方法1:通過 Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB”

‘打開到數(shù)據(jù)庫的連接

Dim rs As New Recordset

'聲明一個記錄集對象

rs.Open [記錄源, cnn, 游標(biāo)類型, 鎖定類型, 命令類型]

‘也可先設(shè)置記錄集相關(guān)屬性 …….rs.Delete

‘刪除當(dāng)前記錄 …….rs.update

‘通知rs,我們要把修改好的記錄行寫入數(shù)據(jù)庫 rs.close

‘關(guān)閉記錄集對象 cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接 set rs=Nothing

‘釋放rs對象實例 set cnn=Nothing ‘釋放Connection對象實例

? 刪除數(shù)據(jù)庫記錄前應(yīng)先找到(查詢)待刪除的記錄項(通過rs.Open來實現(xiàn))。

方法2:使用Connection對象的Execute方法(要求使用者要熟悉SQL命令)例如:如果要將數(shù)據(jù)庫“成績.mdb”中的名字為“學(xué)生情況表”的數(shù)據(jù)表中,學(xué)號為'07001'的記錄刪除,可通過下列方法來實現(xiàn)。

Dim cnn As New ADODB.Connection ‘創(chuàng)建Connection對象cnn,關(guān)鍵字new用于創(chuàng)建新對象 cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=ACCESS

數(shù)據(jù)庫文件.MDB”

‘打開到數(shù)據(jù)庫的連接

sql=“delete from學(xué)生情況表where 學(xué)號='07001'”

‘拼寫delete語句,以便進行刪除

cnn.Execute strSQL

'執(zhí)行elete語句實現(xiàn)刪除 …….cnn.Close

‘關(guān)閉與數(shù)據(jù)庫的連接

set cnn=Nothing ‘釋放Connection對象實例

附:分頁簡介---使用記錄集

一、.原理:

分頁其實是將數(shù)據(jù)庫中的記錄分割成若干段,并將各段記錄放在同一個“邏輯頁面”上“分屏顯示”出來,其實顯示的“邏輯頁面”只有1頁,只是每次顯示的頁面記錄不同罷了。通過控制各頁中數(shù)據(jù)庫顯示記錄的不同,來刷新頁面的顯示內(nèi)容。

二、用到的幾個記錄集屬性

rs.pagesize:定義一頁顯示記錄的條數(shù); rs.recordcount:統(tǒng)計數(shù)據(jù)庫記錄總數(shù); rs.pagecount:統(tǒng)計總頁數(shù);

rs.absolutepage:將數(shù)據(jù)庫指針移動到當(dāng)前頁要顯示的數(shù)據(jù)記錄的第一條記錄;比如有20條記錄的一個數(shù)據(jù)庫,我們分為一頁顯示5條記錄,如將AbsolutePage屬性設(shè)為2,則當(dāng)前記錄指針移至第2頁第1條記錄,也即將指針移動到第6條記錄處,依次類推....(AbsolutePage 屬性是以 1 為起始的)

下載VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié)word格式文檔
下載VC++中MFC用Ado連接數(shù)據(jù)庫小結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    主站蜘蛛池模板: 中文人妻无码一区二区三区信息| 国产成人精品久久一区二区三区| 欧美s码亚洲码精品m码| 无码av大香线蕉伊人久久| 欧美怡春院一区二区三区| 久久免费看少妇高潮v片特黄| 亚洲欧洲日产国码中文字幕| 成人毛片18女人毛片免费| 无码专区中文字幕无码野外| 九九影院午夜理论片少妇| 风流少妇按摩来高潮| 国产成人精品日本亚洲专区61| 风间由美性色一区二区三区| 野花香社区在线视频观看播放| 男女性杂交内射女bbwxz| 亚洲欧美日韩另类丝袜一区| 亚洲精品国偷拍自产在线观看蜜臀| 亚洲欧美伊人久久综合一区二区| 亚洲综合av色婷婷国产野外| 精品第一国产综合精品aⅴ| 亚洲毛片无码专区亚洲a片| 久久国产福利国产秒拍飘飘网| 人妻丰满熟妇av无码区免| 亚洲男人的天堂网站| 精品国产中文字幕在线视频| 欧美成人精品第一区二区三区| 97国产精品视频在线观看| 中文字幕人妻熟在线影院| 久久婷婷人人澡人爽人人喊| 国产精品久久久久久久久免费| 国产亚洲精aa在线看| 亚洲乱理伦片在线观看中字| 免费人成网站在线观看欧美| 亚洲av综合色区无码一区| 性欧美长视频免费观看不卡| 亚洲人和日本人jzz视频| 国产精品成人片在线观看| 久久国产精品福利一区二区三区| 亚洲色拍拍噜噜噜最新网站| 久热国产vs视频在线观看| 亚洲国产av玩弄放荡人妇|