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

📄 clsdbtools.h

📁 该模块完成的主要功能是让用户通过调用提供的打开数据库、执行SQL语句、关闭数据库三个主要的函数
💻 H
字号:
#ifndef __CLSDBTOOLS_H__
#define __CLSDBTOOLS_H__

#include <stdio.h>
#include <sqlite3.h>
#include <string.h>
#include <stdlib.h>
#ifdef _FORLINUX_
#include <glib.h>
#include <unistd.h>
#else
#include <vector>
#include <windows.h>
#include <io.h>
#endif
#include "dbmerror.h"

#define DT_MAX_LEN					10240
#define SQL_MAX_WAIT_TIMES			26


typedef struct record{
	char **pRec;
}record;


#define _tprintf			printf
#define _ttoi				atoi
#define _tstrcasecmp		strcasecmp
#define _tcscmp			strcmp
#define _tcsncat			strncat
#define _tcscat			strcat
#define _tcscpy			strcpy
#define _tcsncmp			strncmp
#define _tcsnicmp		strncasecmp#define _tcsstr			strstr#define _tcschr			strchr#define _tcstok			strtok#define _topen			open#define _open			open#define _read			read#define _write			write#define _close			close#define _tremove			remove
#define _access			access#define _tcsncpy			strncpy
#define _tcslen			strlen#define _stprintf			sprintf
#define _lseek			lseek#define _tcsicmp			strcasecmp
#define _tcsrchr			strrchr
#define _tmalloc			malloc
#define _trealloc			realloc
#define _tfree			free#define _tmemset		memset#define _tmemcpy		memcpy#define _time_t			time_t
#define _tm				tm
#define _ttime			time#define _tlocaltime		localtime#define _tstrftime		strftime#define _system			system
#define _sleep			sleep
#define _wsleep			Sleep

using namespace std;

#ifdef _FORLINUX_
	class ClsDbTools
#else 
	class __declspec(dllexport) ClsDbTools
#endif
{

	public:
		
#ifdef _FORLINUX_
			static GList  *m_recordList; //storage all records
#else 
			static	vector <record*> m_datavector;//storage all records
			static	vector <int> :: size_type m_ivector;  //records number
			HMODULE sqlitelib;
#endif
		
		static char **m_colName;		//field name
		static int m_colNum;                 //field number
		static sqlite3 *m_db;			//An open database

	public:
		
		ClsDbTools();
		~ClsDbTools();
		int OpenDatabase(const char *db);
		static int callback(void *NotUsed, int argc, char **argv, char **azColName);	
		int Execute(const char *strSql);
		void CloseDatabase();
		int getErrorMsg(char *sError);
		int replaceChar(const char *result, char *repResult);
		
	private:
		int cleanCallback();  
		int strcpStarttoEnd(char *dest, const char *result, int start, int end);

	private:
		static int m_nRecord;                   //records number
		//static  record **m_rec;
		int m_rc;                                     //The return value of function sqlite3_exec()
		char *m_zErrMsg;
		static bool m_execState;             //a switch of function Execute
		int m_iWaitCount;                      //another SQL sentence wait time
		
};

#endif

⌨️ 快捷键说明

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