📄 stdafx.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 + -