?? 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 + -