procedure tform1.Executesql(sql:string);//执行sql语句过程
begin
query1.Close;
query1.sql.Clear;
query1.SQL.add(sql);
query1.ExecSql;
end;procedure TForm1.Button1Click(Sender: TObject);//创建目录和表
begin
mkdir('e:\test\');
query1.DatabaseName:='e:\test\';
query2.DatabaseName:='e:\test\';
executesql('create table '+''''+query1.DatabaseName+'students'+''''+char(40)
+'学号 char(10),'
+'单位 char(50),'
+'照片 blob(1,5),'
+'PRIMARY KEY'+char(40)
+'学号'+char(41)
+char(41));
executesql('create table '+''''+query1.DatabaseName+'grade'+''''+char(40)
+'学号 char(10),'
+'姓名 char(10),'
+'照片 blob(2,5),'
+'PRIMARY KEY'+char(40)
+'学号'+char(41)
+char(41));
end;procedure TForm1.Button2Click(Sender: TObject);//用于删除所有表以及目录
begin
executesql('drop table students');
executesql('drop table grade');
if RemoveDir(query1.databasename)=false then
Application.MessageBox('队别目录内有非本系统的文件,不能删除目录,请自己手动删除!','错误',mb_Ok);
end;以上代码执行后,发现能将表文件删除,却不能将目录删除,当我将创建表函数中的
grade表中的“照片 blob(2,5),”去除后,却能删除目录,也就是说在同一个目录下不能不能存在两个*.MB文件,这是为何?
begin
query1.Close;
query1.sql.Clear;
query1.SQL.add(sql);
query1.ExecSql;
end;procedure TForm1.Button1Click(Sender: TObject);//创建目录和表
begin
mkdir('e:\test\');
query1.DatabaseName:='e:\test\';
query2.DatabaseName:='e:\test\';
executesql('create table '+''''+query1.DatabaseName+'students'+''''+char(40)
+'学号 char(10),'
+'单位 char(50),'
+'照片 blob(1,5),'
+'PRIMARY KEY'+char(40)
+'学号'+char(41)
+char(41));
executesql('create table '+''''+query1.DatabaseName+'grade'+''''+char(40)
+'学号 char(10),'
+'姓名 char(10),'
+'照片 blob(2,5),'
+'PRIMARY KEY'+char(40)
+'学号'+char(41)
+char(41));
end;procedure TForm1.Button2Click(Sender: TObject);//用于删除所有表以及目录
begin
executesql('drop table students');
executesql('drop table grade');
if RemoveDir(query1.databasename)=false then
Application.MessageBox('队别目录内有非本系统的文件,不能删除目录,请自己手动删除!','错误',mb_Ok);
end;以上代码执行后,发现能将表文件删除,却不能将目录删除,当我将创建表函数中的
grade表中的“照片 blob(2,5),”去除后,却能删除目录,也就是说在同一个目录下不能不能存在两个*.MB文件,这是为何?
我不用2秒钟来看这段代码就得出这个结论;因为我瞎说