⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysedb.h

📁 Windows Mobile 5.0/6.0下EDB的使用的完整的例子程序
💻 H
字号:
#ifndef _SYS_EDB_H_
#define _SYS_EDB_H_

#define EDB
#include <windows.h>
#include <windbase.h>
#include <vector>

#define DB_NAME			TEXT("BlackList")
#define DB_FILE_NAME	TEXT("SmsBList.dat")

#define STREAM_DB_NAME			TEXT("StreamDB")



typedef struct ITEMData
{
	CEOID ceoid;
	TCHAR name[32];
	TCHAR number[32];
	ITEMData()
	{
		ceoid = 0;
		name[0] = 0;
		number[0] = 0;
	}
}ITEMData;

UINT GetCurrAppFolder(TCHAR* appFolder);
// 创建存储拨号前缀的数据库
//BOOL CreateDB(LPTSTR apsDBVolPath);


class CSysDB
{
public:
	CSysDB(BOOL bSetPrimarykey = FALSE , LONG iSeekOrder = CEDB_SEEK_BEGINNING);
	~CSysDB();


	DWORD AddDBItem(ITEMData &item);


	BOOL ModifyAnPrefixItem(ITEMData &item);


	BOOL DelAnPrefixItem(ITEMData &item);

	DWORD GetAllPrefixItem(std::vector<ITEMData> &vecPrefixItem);

	DWORD GetPrefixItemCount();

	BOOL IsPrefixItemExist(ITEMData &item);

	//////////////////////////////////////////////////////////////////////////
	BOOL CreateDBEx(LPTSTR apsDBVolPath);
	BOOL OpenDB(TCHAR *szwDBName);
	void CloseDBHandle();				// 结束数据库操作 
	//////////////////////////////////////////////////////////////////////////
	//Stream DB
	BOOL  CreateStreamDB(LPTSTR apsDBVolPath);
	BOOL  OpenStreamDB(TCHAR *szwDBName);
	DWORD AddStreamDBItem(ITEMData &item);
	DWORD AddStreamDBItem(void *pData , int cbSize);
	DWORD GetAllStreamItem(std::vector<ITEMData> &vecPrefixItem);
	BOOL  ModifyAnStreamDBItem(ITEMData &item);
	DWORD GetDBItemCount();
	CEOID BeginRead(CEOID *pOid);
	void* ReadNextRecord(CEOID *pOid , void *pData);
private:
	//BOOL Initial();		
	
	DWORD GetMaxPrefixOrderID();
public:
private:
	HANDLE m_hDB;	//数据库句柄
	BOOL   m_bInitial;	// 是否已经初始化
	CEGUID m_ceGuidDB;	// 打开的数据库卷的GUID
	UINT   m_dwMaxPrefixOrderID;
	UINT   m_iSeekOrder;
	BOOL   m_bSetPrimaryKey;

};















#endif //_SYS_EDB_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -