亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? adodb.h

?? visual c++ 實例編程
?? H
字號:
/*************************************************************************
*     數(shù)據(jù)庫操作類:
*                  CADOConnection(數(shù)據(jù)庫連接類)
*                  CADODataset(數(shù)據(jù)集操作類)
*
*
**************************************************************************/
#ifndef ADODB_H
#define ADODB_H

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


struct CADOFieldInfo//字段信息
{
	char m_strName[30]; 
	short m_nType;
	long m_lSize; 
	long m_lDefinedSize;
	long m_lAttributes;
	short m_nOrdinalPosition;
	BOOL m_bRequired;   
	BOOL m_bAllowZeroLength; 
	long m_lCollatingOrder;  
};
//整型量與字符串的轉(zhuǎn)換
CString IntToStr(int nVal);

CString LongToStr(long lVal);


class CADOConnection : public CObject
{
public:
    //1.構(gòu)造和系構(gòu)函數(shù)
	CADOConnection();
	virtual ~CADOConnection();

	DECLARE_DYNCREATE(CADOConnection );
public:
	//2.數(shù)據(jù)庫連接:open ConDB
	bool ConDB(CString DbName,CString Password="",int DBType=0);
	bool Open(LPCTSTR lpstrConnection = _T(""));
	bool Execute(LPCTSTR lpstrExec);
    //3.
	_ConnectionPtr GetActiveConnection() {return m_pConnection;};
	void SetConnectionString(LPCTSTR lpstrConnection)
		{m_strConnection = lpstrConnection;};
	CString GetConnectionString()
		{return m_strConnection;};
	//4.事務處理
	long BeginTransaction() 
		{return m_pConnection->BeginTrans();};
	long CommitTransaction() 
		{return m_pConnection->CommitTrans();};
	long RollbackTransaction() 
		{return m_pConnection->RollbackTrans();};
	//5.狀態(tài)標識
	bool IsOpen();
	void Close();

protected:
    _ConnectionPtr m_pConnection;
 	CString m_strConnection;
};

class CADODataset:public CObject
{
public:
	//1打開參數(shù) 編輯參數(shù) 位置參數(shù) 檢索參數(shù)
	enum cadoOpenEnum
	{
		openUnknown = 0,
		openQuery = 1,
		openTable = 2,
		openStoredProc = 3
	};

	enum cadoEditEnum
	{
		dbEditNone = 0,
		dbEditNew = 1,
		dbEdit = 2
	};
	
	enum cadoPositionEnum
	{
	
		positionUnknown = -1,
		positionBOF = -2,
		positionEOF = -3
	};
	
	enum cadoSearchEnum
	{	
		searchForward = 1,
		searchBackward = -1
	};

public:
	//2.構(gòu)造于系構(gòu)函數(shù)
	CADODataset();
	CADODataset(CADOConnection* pAdoDatabase);
	virtual ~CADODataset();
	DECLARE_DYNCREATE(CADODataset);

private:
   //3.私有 
	_RecordsetPtr m_pRecordset;
  	//CADOConnection* m_pAdocon;
	CString m_strLastError;
	int m_nSearchDirection;
	CString m_strFind;
	_variant_t m_varBookFind;
	_variant_t m_varBookmark;
	int m_nEditStatus;
	void dump_com_error(_com_error &e);
	


	_CommandPtr m_pCmd;
	_ConnectionPtr m_pConnection;
	CString m_strQuery;
   //4.用于列表操作
    void ClearList(CListCtrl &ListCtrl1);
	void FillColumn(CListCtrl &ListCtrl1);
	void FillContent(CListCtrl &ListCtrl1);
public:
	void FillList(CListCtrl &ListCtrl1);

   //5.設(shè)置字段值,獲取字段值
	bool SetFieldValue(int nIndex, CString strValue);
	bool SetFieldValue(LPCTSTR lpFieldName, CString strValue);
	bool SetFieldValue(int nIndex, int nValue);
	bool SetFieldValue(LPCTSTR lpFieldName, int nValue);
	bool SetFieldValue(int nIndex, long lValue);
	bool SetFieldValue(LPCTSTR lpFieldName, long lValue);
	bool SetFieldValue(int nIndex, double dblValue);
	bool SetFieldValue(LPCTSTR lpFieldName, double dblValue);
	bool SetFieldValue(int nIndex, COleDateTime time);
	bool SetFieldValue(LPCTSTR lpFieldName, COleDateTime time);

	bool GetFieldValue(LPCTSTR lpFieldName, double& dbValue);
	bool GetFieldValue(int nIndex, double& dbValue);
	bool GetFieldValue(LPCTSTR lpFieldName, bool& dbValue);
	bool GetFieldValue(int nIndex, bool& dbValue);
	bool GetFieldValue(LPCTSTR lpFieldName, long& lValue);
	bool GetFieldValue(int nIndex, long& lValue);
	bool GetFieldValue(LPCTSTR lpFieldName, int& nValue);
	bool GetFieldValue(int nIndex, int& nValue);
	bool GetFieldValue(LPCTSTR lpFieldName, CString& strValue);
	bool GetFieldValue(int nIndex, CString& strValue);
	bool GetFieldValue(LPCTSTR lpFieldName, COleDateTime* time);
	bool GetFieldValue(int nIndex, COleDateTime* time);
	bool IsFieldNull(LPCTSTR lpFieldName);
	bool IsFieldNull(int nIndex);
	bool IsFieldEmpty(LPCTSTR lpFieldName);
	bool IsFieldEmpty(int nIndex);	
   //6.編輯功能
	void CancelUpdate();
	bool Update();
	void Edit();
	bool AddNew();
    //7.關(guān)鍵字查找
	bool Find(LPCTSTR lpFind, int nSearchDirection = CADODataset::searchForward);
	bool FindFirst(LPCTSTR lpFind);
	bool FindNext();
    CString GetQuery()	{return m_strQuery;};
	void SetQuery(LPCSTR strQuery)	{m_strQuery = strQuery;};
	//bool RecordBinding(CADORecordBinding &pAdoRecordBinding);
	DWORD GetRecordCount();
	bool IsOpen();
	void Close();
	bool Open(_ConnectionPtr mpdb, LPCTSTR lpstrExec = _T(""), int nOption = CADODataset::openUnknown);
	bool Open(LPCTSTR lpstrExec = _T(""), int nOption = CADODataset::openUnknown);
	_RecordsetPtr OpenSql(LPCTSTR TblName,LPCTSTR FldList="*",LPCTSTR Constr="",LPCSTR OrderBy="");
    bool ExecSql(LPCSTR SqlStr);
	_RecordsetPtr    ExecStoreProc(LPCSTR SqlProc);

	bool IsEof()
		{return m_pRecordset->adoEOF == VARIANT_TRUE;};
	
	bool IsBof()
		{return m_pRecordset->BOF  == VARIANT_TRUE;};
	void MoveFirst() 
		{m_pRecordset->MoveFirst();};
	void MoveNext() 
		{m_pRecordset->MoveNext();};
	void MovePrevious() 
		{m_pRecordset->MovePrevious();};
	void MoveLast() 
		{m_pRecordset->MoveLast();};

	long GetAbsolutePage()
		{return m_pRecordset->GetAbsolutePage();};
	long GetAbsolutePosition()
		{return m_pRecordset->GetAbsolutePosition();};
		bool GetFieldInfo(LPCTSTR lpFieldName, CADOFieldInfo* fldInfo);
	void SetAbsolutePage(int nPage)
		{m_pRecordset->PutAbsolutePage((enum PositionEnum)nPage);};
	void SetAbsolutePosition(int nPosition)
		{m_pRecordset->PutAbsolutePosition((enum PositionEnum)nPosition);};

	long GetPageCount()
		{return m_pRecordset->GetPageCount();};
	long GetPageSize()
		{return m_pRecordset->GetPageSize();};
	void SetPageSize(int nSize)
		{m_pRecordset->PutPageSize(nSize);};

	bool GetFieldInfo(int nIndex, CADOFieldInfo* fldInfo);
	bool GetChunk(LPCTSTR lpFieldName, CString& strValue);
	CString GetString(LPCTSTR lpCols, LPCTSTR lpRows, LPCTSTR lpNull, long numRows = 0);
	long GetFieldCount(){ return this->m_pRecordset->GetFields()->GetCount(); }
	void GetBookmark()
		{m_varBookmark = m_pRecordset->Bookmark;};
	bool SetBookmark();
	bool Delete();
	void SetConnection(CADOConnection *pCon)
	  {
           this->m_pConnection=pCon->GetActiveConnection(); 	
	  };
	void SetActiveConnection(_ConnectionPtr pConnection)
	{
	   this->m_pConnection=pConnection;
	};
};





#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91捆绑美女网站| 久久久久国产精品麻豆ai换脸| 88在线观看91蜜桃国自产| 国产亚洲精久久久久久| 天天操天天干天天综合网| 99国产欧美久久久精品| 欧美精品一区在线观看| 亚洲福利一区二区三区| av电影在线观看完整版一区二区| 久久午夜羞羞影院免费观看| 亚洲国产成人高清精品| 91美女福利视频| 国产精品色眯眯| 福利一区二区在线观看| 久久午夜免费电影| 精品一区二区三区免费| 欧美精品丝袜中出| 亚洲一卡二卡三卡四卡五卡| 99热在这里有精品免费| 亚洲国产精品成人综合| 国产剧情在线观看一区二区| 日韩精品资源二区在线| 日韩av中文在线观看| 欧美日韩中文字幕精品| 亚洲精品国产精华液| 99国产精品久久久久久久久久| 中文字幕欧美日本乱码一线二线| 91毛片在线观看| 综合在线观看色| 99久久婷婷国产综合精品电影| 中国色在线观看另类| 国产成人啪免费观看软件| 久久久午夜精品理论片中文字幕| 久草在线在线精品观看| 精品福利一区二区三区免费视频| 韩国v欧美v亚洲v日本v| 久久伊人中文字幕| 成人激情免费网站| 亚洲欧美色图小说| 在线观看视频一区二区欧美日韩| 亚洲一区中文在线| 欧美精品高清视频| 久久精品999| 国产亚洲综合av| 成人精品一区二区三区四区 | 精品一二线国产| 欧美成人女星排行榜| 国产精品一区专区| 亚洲欧美另类综合偷拍| 欧美探花视频资源| 99久久精品国产精品久久| 中文字幕一区二区三区乱码在线 | 久久91精品久久久久久秒播| 久久午夜电影网| gogogo免费视频观看亚洲一| 亚洲黄色免费网站| 日韩欧美成人午夜| 成人黄页毛片网站| 亚洲高清在线视频| 久久看人人爽人人| 欧洲视频一区二区| 国产综合色视频| 亚洲在线一区二区三区| 日韩免费视频线观看| 成人av网址在线观看| 午夜影院久久久| 欧美高清在线精品一区| 欧美日韩国产精品成人| 国产一区二区三区高清播放| 亚洲欧美日韩国产手机在线| 欧美一激情一区二区三区| av一二三不卡影片| 男女性色大片免费观看一区二区| 国产精品国产三级国产aⅴ中文| 欧美福利电影网| 91丨九色丨蝌蚪丨老版| 麻豆久久一区二区| 亚洲激情图片一区| 久久夜色精品国产欧美乱极品| 欧美性感一类影片在线播放| 国产乱淫av一区二区三区| 亚洲大片精品永久免费| 国产喂奶挤奶一区二区三区| 欧美日韩成人综合在线一区二区| 成年人午夜久久久| 九九视频精品免费| 亚洲国产精品尤物yw在线观看| 亚洲国产成人午夜在线一区| 日韩精品一区二区三区视频播放| 日本道精品一区二区三区| 国产精品一区二区在线观看不卡 | 亚洲精品一二三四区| 久久一夜天堂av一区二区三区| 欧美日韩国产高清一区二区三区| 成人视屏免费看| 国产在线精品不卡| 奇米色一区二区三区四区| 亚洲电影在线免费观看| 国产精品不卡一区| 中文字幕免费在线观看视频一区| 日韩欧美一区在线观看| 在线成人小视频| 欧美日韩大陆一区二区| 欧美综合天天夜夜久久| 色婷婷综合在线| 91视频.com| 色综合激情五月| 一本到一区二区三区| av电影一区二区| 9i看片成人免费高清| 成人动漫一区二区在线| 国产成人午夜99999| 国产成人av电影在线观看| 国产精品一区2区| 国产乱码一区二区三区| 国产精品一区在线观看你懂的| 激情综合网av| 欧美精品一二三四| 欧美嫩在线观看| 91精品福利在线一区二区三区| 5858s免费视频成人| 日韩女同互慰一区二区| 精品久久久久久最新网址| 精品粉嫩超白一线天av| 国产亚洲精品超碰| 一区二区中文字幕在线| 亚洲综合自拍偷拍| 婷婷成人综合网| 久久se这里有精品| 国产精品99久久久久久有的能看| 成人做爰69片免费看网站| 99精品久久免费看蜜臀剧情介绍| 在线精品视频一区二区三四| 欧美无乱码久久久免费午夜一区 | 美女一区二区在线观看| 国精产品一区一区三区mba视频| 高清久久久久久| 欧洲精品一区二区三区在线观看| 91精品一区二区三区久久久久久 | 亚洲男人的天堂一区二区| 亚洲高清中文字幕| 精品一区二区三区免费视频| 懂色av一区二区三区免费观看 | 国产成人午夜电影网| 91麻豆免费看| 欧美v日韩v国产v| 亚洲欧洲精品一区二区三区不卡| 亚洲第一会所有码转帖| 国产风韵犹存在线视精品| 91精品福利在线| 2023国产精华国产精品| 亚洲精品亚洲人成人网在线播放| 日本伊人午夜精品| 成人av电影在线播放| 制服丝袜av成人在线看| 国产精品美女久久久久av爽李琼| 午夜视频一区二区三区| 成人av网在线| 亚洲欧洲av另类| 久久99精品久久久久婷婷| 91浏览器入口在线观看| 精品久久免费看| 亚洲18影院在线观看| 成人天堂资源www在线| 欧美一级高清片在线观看| 综合久久综合久久| 国产精品一区二区在线观看不卡 | 精品久久久三级丝袜| 亚洲永久精品国产| 成人一区二区三区视频在线观看| 欧美一区二区三区电影| 一区二区三区在线观看国产| 国产成a人亚洲精| 日韩欧美国产成人一区二区| 一区二区成人在线视频| 成人性视频免费网站| 精品久久久三级丝袜| 石原莉奈在线亚洲二区| 在线中文字幕不卡| 国产精品久久久久久亚洲毛片 | 久久精品欧美一区二区三区麻豆| 日韩精品视频网站| 欧美亚洲精品一区| 亚洲丝袜制服诱惑| 成人app软件下载大全免费| 2019国产精品| 狠狠色综合播放一区二区| 91精品国产日韩91久久久久久| 国产一区不卡精品| 精品久久久网站| 久久精品久久综合| 精品理论电影在线| 精品一二三四区| 337p粉嫩大胆色噜噜噜噜亚洲| 日产精品久久久久久久性色| 4438成人网| 久久99精品久久只有精品| 日韩女优电影在线观看| 精品一区二区三区av| 亚洲精品在线三区|