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

📄 sqlparse.h

📁 表达式分析, 支持算术运算,括号,关系运算,逻辑运算,字符串的like运算等。采用了有限自动机做词法分析, 语法分析用算符优先分析方法
💻 H
字号:
#ifndef SQLPARSE_H__
#define SQLPARSE_H__
#include "GramAnalysis.h"
#include <vector>

using namespace std;

class FieldInfo
{
public:
	unsigned char fieldType;
	char fieldName[256];
};

class FieldValueInfo
{
public:
	char fieldName[256];
	union
	{
		double numberValue;
		char   stringvalue[256];
	};
};

class cSQLParse
{
private:
	std::vector<FieldInfo>  m_idTypeTable;
	cGramAnalysis			m_ga;
	char					m_error_msg[256];
	TokenList*				m_tl;
	bool					GetIdentifierValue(char* name, std::vector<FieldValueInfo>& valueInfoTable, 
									Token & token);
	unsigned char			CheckIdentifierType(char* name, std::vector<FieldInfo>& fieldInfoTable);
	bool					CheckExpressLogic(std::vector<FieldInfo>& fieldInfoTable);
public:
	cSQLParse();
	bool SQLPreCompile(char* str, std::vector<FieldInfo>& fieldInfoTable);
	bool SQLInputValue(std::vector<FieldValueInfo>& valueInfoTable, Token& t);
	char* GetLastError();
};

#endif		/*SQLPARSE_H__*/

/* gw_0502
class FieldInfo
{
public:
	unsigned char fieldType;
	char filedName[256];
};

std::vector<FieldInfo> tableFieldInfo;
HANDLE sqlStatment = SQLPreCompile(str, tableInfo, long errorCode);
char* GetErrorByCode(long errorCode);

class SQLStatment{
public:
	std::vector<FieldInfo> tableInfo;
};
class FieldValueInfo
{
public:
	char* fieldName;
	long lValue;
	double dValue;
	char* sValue;
};
bool SQLInputValue(sqlStatment,std::vector<FieldValueInfo> value)
{
}
*/

⌨️ 快捷键说明

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