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

📄 dbsrv.h

📁 Visual C++实践与提高-刘刀桂, 孟繁晶编著
💻 H
字号:
#ifndef _DBSERVER_INCLUDE
#define _DBSERVER_INCLUDE

typedef long HRESULT;

#define DEF_EXPORT __declspec(dllexport)

DEFINE_GUID(CLSID_DBSAMPLE, 0x30df3430, 0x266, 0x11cf, 0xba, 0xa6, 0x0, 0xaa, 0x0, 0x3e, 0xe, 0xed);
// {30DF3430-0266-11cf-BAA6-00AA003E0EED}

DEFINE_GUID(IID_IDB, 0x30df3432, 0x266, 0x11cf, 0xba, 0xa6, 0x0, 0xaa, 0x0, 0x3e, 0xe, 0xed);
// {30DF3432-0266-11cf-BAA6-00AA003E0EED}

DEFINE_GUID(IID_IDBAccess, 0x30df3433, 0x266, 0x11cf, 0xba, 0xa6, 0x0, 0xaa, 0x0, 0x3e, 0xe, 0xed);
// {30DF3433-0266-11cf-BAA6-00AA003E0EED}

DEFINE_GUID(IID_IDBManage, 0x30df3434, 0x266, 0x11cf, 0xba, 0xa6, 0x0, 0xaa, 0x0, 0x3e, 0xe, 0xed);
// {30DF3434-0266-11cf-BAA6-00AA003E0EED}

DEFINE_GUID(IID_IDBInfo, 0x30df3435, 0x266, 0x11cf, 0xba, 0xa6, 0x0, 0xaa, 0x0, 0x3e, 0xe, 0xed);
// {30DF3435-0266-11cf-BAA6-00AA003E0EED}

class IDB : public IUnknown {
  // Interfaces
  public:
	  	// Interface for data access
		virtual HRESULT _stdcall Read(short nTable, short nRow, LPWSTR lpszData) =0;
		virtual HRESULT _stdcall Write(short nTable, short nRow, LPCWSTR lpszData) =0;

		// Interface for database management
		virtual HRESULT _stdcall Create(short &nTable, LPCWSTR lpszName) =0;
		virtual HRESULT _stdcall Delete(short nTable) =0;

		// Interfase para obtenber informacion sobre la base de datos
		virtual HRESULT _stdcall GetNumTables(short &nNumTables) =0;
		virtual HRESULT _stdcall GetTableName(short nTable, LPWSTR lpszName) =0;
		virtual HRESULT _stdcall GetNumRows(short nTable, short &nRows) =0;

		//virtual ULONG Release() =0;
};

class IDBAccess : public IUnknown {
  public:
	  	// Interface for data access
		virtual HRESULT _stdcall Read(short nTable, short nRow, LPWSTR lpszData) =0;
		virtual HRESULT _stdcall Write(short nTable, short nRow, LPCWSTR lpszData) =0;
};

class IDBManage : public IUnknown {
	// Interface for database management
	public:
		virtual HRESULT _stdcall Create(short &nTable, LPCWSTR lpszName) =0;
		virtual HRESULT _stdcall Delete(short nTable) =0;
};

class IDBInfo : public IUnknown {
	// Interfase para obtenber informacion sobre la base de datos
	public:
		virtual HRESULT _stdcall GetNumTables(short &nNumTables) =0;
		virtual HRESULT _stdcall GetTableName(short nTable, LPWSTR lpszName) =0;
		virtual HRESULT _stdcall GetNumRows(short nTable, short &nRows) =0;
};

#endif

⌨️ 快捷键说明

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