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

📄 sqlitedb.cpp

📁 sqlite库
💻 CPP
字号:
/***************************
**注:此代码版权归作者所有
**作者: 曹浩(hit)
**QQ:  278966690
**此代码仅共学习使用
**任何人使用该代码不得删除此说明
***************************/
#include "SQLiteDB.h"

char **azResult;


Result::Result(char **r)
{
	azResult=r;
}

Result::~Result()
{
	sqlite3_free_table( azResult );
}


bool SQLiteDB::openDB(string DBName)
{
	return ::sqlite3_open(DBName.c_str(),&pDB);
}

int SQLiteDB::execute(string sql)
{
		char errMsg[100]="";
		::sqlite3_exec(pDB,sql.c_str(),0,0,(char **)&errMsg);
		if(!strcpy(errMsg,""))
		{
			cout<<errMsg<<endl;
			return -1;
		}
		else 
			return 0;
}

Result *SQLiteDB::executeSelect(string sql)
{
	char errMsg[100]="";
	Result *rs=new Result(azResult);
	::sqlite3_get_table(pDB,sql.c_str(),&rs->azResult,&rs->row,&rs->col,(char **)&errMsg);
	if(!strcpy(errMsg,""))
	{
		cout<<errMsg<<endl;
		return NULL;
	}
	else 
		return rs;
}

bool SQLiteDB::closeDB()
{
	return sqlite3_close(pDB);
}

int Result::getResultNum()
{
	return row;
}

char *Result::getAt(int arow,int acol)
{
	return azResult[arow*col+acol];
}

int Result::getRowNum()
{
	return row+1;
}

int Result::getColNum()
{
	return col;
}

int SQLiteDB::executeSQLFromFile(string fileName)
{
	ifstream f;
	f.open(fileName.c_str());
	string sql("");
	char temp[100]="";
	while(!f.eof())
	{	
		sql+=temp;
		f.getline(temp,100);
		
	}
	//cout<<sql<<endl;
	char errMsg[100];
	::sqlite3_exec(pDB,sql.c_str(),0,0,(char **)&errMsg);
	if(!strcpy(errMsg,""))
	{
		cout<<errMsg<<endl;
		return -1;
	}
	else 
		return 0;
}

⌨️ 快捷键说明

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