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文件,这是为何?
不用考虑,这个正是delphi的bug
我不用2秒钟来看这段代码就得出这个结论;
因为我瞎说