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

📄 stdafx.h

📁 DBMS(Database Management System)在当前的信息系统开发中处于主导位置
💻 H
字号:
#ifndef _STDAFX_
#define _STDAFX_

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<io.h>
#include<string.h>
#include<math.h>
#include <direct.h>

//标识一块缓冲区的最小长度
#define MAX_BUF		20

#define ACTION_ROW      15
//用于Action匹配表 主要用于命令匹配,LiuDBMS中所有命令均在此处得到体现
char ActionList[ACTION_ROW][2][MAX_BUF] = {
	{"create","database"},
	{"create","table"},
	{"drop","database"},
	{"drop","table"},
	{"insert","into"},
	{"delete","from"},
	{"show","tables"},
	{"show","databases"},
	{"update","XX"},
	{"select","XX"},
	{"desc","xx"},
	{"help","xx"},
	{"exit","xx"},
	{"use","xx"},
	{"getcwd","xx"}//得到当前所在数据库
};
//上面操作命令的返回值
#define	CREATE_DATABASE_VALUE		0
#define	CREATE_TABLE_VALUE			1
#define DROP_DATABASE_VALUE			2
#define DROP_TABLE_VALUE			3
#define INSERT_INTO_VALUE			4
#define DELETE_FROM_VALUE			5
#define SHOW_TABLES_VALUE			6
#define SHOW_DATABASES_VALUE		7
#define UPDATE_SET_VALUE			8
#define SELECT_VALUE				9
#define DESC_VALUE					10
#define HELP_VALUE					11
#define EXIT_VALUE					12
#define USE_VALUE					13
#define GETCWD_VALUE				14

	
#define KEY_ROW   23
//用于格式在分析流串时关键字匹配表
char KeyList[KEY_ROW][MAX_BUF] = {
	{"("},
	{")"},
	{","},
	{"'"},
	{"\""},
	{"varchar"},
	{"int"},
	{"text"},
	{"date"},
	{"not"},
	{"primary"},
	{"check"},
	{"values"},//13
	{">"},
	{"="},
	{"<>"},
	{">="},
	{"<"},
	{"<="},
	{"like"},
	{"between"},
	{"and"},
	{"or"}
};

//符号定义,以及关键字宏定义
#define LEFT_MARK				0
#define RIGHT_MARK				1
#define COMMA_MARK				2
#define SAMLL_QUOTATION_MARK    3
#define BIG_QUOTATION_MARK		4

#define VARCHAR_TYPE			5       //varchar
#define INT_TYPE				6		//int
#define TEXT_TYPE				7		//text
#define DATE_TYPE				8		//date

#define NOT_KEY					9
#define PRIMARY_KEY				10
#define CHECK_KEY				11
#define VALUE_KEY				12

//Select符号串的宏定义
#define BIG_OPERATOR			13
#define	EQUAL_OPERATOR			14
#define NOEQUAL_OPERATOR		15
#define BIG_EQUAL_OPERATOR		16
#define SMALL_OPERATOR			17
#define SMALL_EQUAL_OPERATOR	18
#define LIKE_OPERATOR			19
#define BWTEEN_OPERATOR			20
#define AND_OPERATOR			21
#define OR_OPERATOR				22

#define COMMANDLENGTHISNOTENOUGH  "指令不够长"
//下面列出的是相关的结构体,在程序中各种数据类型
//数据库结点
struct DataBase
{
	char strDBName[200];//数据库名
	char strAuthor[50];//创建者
	char strCreateTime[29];//创建的时间,字符串格式
	long lCreatTime;//表示创建的时间
};

#define	   TABLE_TYPE			0	//表
#define	   VIEW_TYPE			1   //视图	

//表结点,用于存取表信息
struct TableNode
{
	TableNode()
	{
		iTableType = TABLE_TYPE;
	};
	char strTableName[200];		//表名
	char strAuthor[50];			//创建者
	char strCreateTime[29];		//创建的时间,字符串格式
	long lCreatTime;			//表示创建的时间
	int  iTableType;			//表的类型,可以为表,索引,视图,存储过程等,默认为普通表
};

//公共的全局变量
extern char g_strUserName[50] = "anonymous";
extern char g_strCurrentDBName[200] = "";

#endif

⌨️ 快捷键说明

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