在看Delpih6数据库开发实例导航这本书时,里面的数据库管理系统用的InterBase,但是Delphi11中已经没有这个东西了,我就想到利用MS的access但是里面有很多的SQL语句不支持,比如设置字段的默认值等,后来我想到连接到MySQL,也是在网上查了很我资料。现在再学习一下:
一、打开phpstudy 启动 WNMP
/*创建学生表*/
create table STUDENT(
ID CHAR(6) NOT NULL,
NAME VARCHAR(20) NOT NULL,
SEX CHAR(1) DEFAULT 'M' NOT NULL,
CLASS CHAR(4),
DEPARTMENT SMALLINT NOT NULL,
BIRTHDAY DATE NOT NULL,
NATIVE_PLACE VARCHAR(20) NOT NULL
);
ALTER TABLE STUDENT
ADD CONSTRAINT ID
PRIMARY KEY(ID);
/*创建学籍变更信息表*/
CREATE TABLE CHANGE_B(
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
CHANGE_B CHAR(1) NOT NULL,
REC_TIME DATE NOT NULL,
DESCRIPTION VARCHAR(4000)
);
ALTER TABLE CHANGE_B
ADD CONSTRAINT CHANGE_B_ID
PRIMARY KEY(ID);
/*奖励记录信息表*/
CREATE TABLE REWARD(
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
LEVELS CHAR(1) NOT NULL,
REC_TIME DATE NOT NULL,
DESCRIPTION VARCHAR(4000)
);
ALTER TABLE REWARD
ADD CONSTRAINT REWARD_ID
PRIMARY KEY(ID);
/*处罚记录信息表*/
CREATE TABLE PUNISHMENT(
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
LEVELS CHAR(1) NOT NULL,
REC_TIME DATE NOT NULL,
ENABLE CHAR(1) DEFAULT 'T' NOT NULL,
DESCRIPTION VARCHAR(4000)
);
ALTER TABLE PUNISHMENT
ADD CONSTRAINT PUNISHMENT_ID
PRIMARY KEY(ID);
/*创建院系信息表*/
CREATE TABLE DEPARTMENT(
ID SMALLINT NOT NULL,
NAME VARCHAR(50) NOT NULL
);
ALTER TABLE DEPARTMENT
ADD CONSTRAINT DEPARTMENT_ID
PRIMARY KEY(ID );
/*创建班级信息表*/
CREATE TABLE CLASS(
ID CHAR(4) NOT NULL,
NAME VARCHAR(50) NOT NULL,
MONITOR CHAR(6),
DEPARTMENT SMALLINT NOT NULL
);
ALTER TABLE CLASS
ADD CONSTRAINT CLASS_ID
PRIMARY KEY(ID);
/*创建学籍变动代码表*/
CREATE TABLE CHANGE_B_CODE(
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
ALTER TABLE CHANGE_B_CODE
ADD CONSTRAINT CHANGE_B_CODE_CODE
PRIMARY KEY(CODE);
/*创建奖励等级代码表*/
CREATE TABLE REWARD_LEVELS(
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50) NOT NULL
);
ALTER TABLE REWARD_LEVELS
ADD CONSTRAINT REWARD_CODE_LEVELS
PRIMARY KEY(CODE);
/*创建惩罚等级代码表*/
CREATE TABLE PUNISHMENT_LEVELS(
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50) NOT NULL
);
ALTER TABLE PUNISHMENT_LEVELS
ADD CONSTRAINT PUNISHMENT_CODE_LEVELS
PRIMARY KEY(CODE);
/*创建计数保存表*/
CREATE TABLE COUNTER(
ID CHAR(1) NOT NULL,
COUNTER_VALUE SMALLINT NOT NULL
);
ALTER TABLE COUNTER
ADD CONSTRAINT COUNTER_ID
PRIMARY KEY(ID);
三、下面开始怎么用Delphi11连接MySql数据库房中的student表
1、在窗体上添加一个FDconnection1,设置其Params下面的属性:
先设置右边的属性,CharacterSet是设置字符编码为utf8,是中文支持。最后设置connected 为True 时输入Mysql的Login User name:root, Password:root,点击ok。这样连接到mysql了。
四、要把数据显示出来
1、添加FDQuerry,设置connect属性为:FDConnection1,
设置select * from student,
也可双击FDQuerry1控件后,在对话框中设置,测试:
5、加入DataSource1控件,设置其DataSet为FDQuery1,
加入DBGrid1控件,设置其DataSource为DataSource1,
之后DBGrid1控件显示上图中的RecordSet中的内容: