Cannot preform this operation on an open database是什么回事

taxi 2000-09-09 09:16:00
IndexQuery和TitleQuery已经指向了两个paradox7类型的表,当我要动态建立另外的表时,出现错误,错误信息如下:
'IndexQuery:Cannot preform this operation on an open database'
程序如下:
procedure CreateTable(filename1,filename2:string);
begin
IndexQuery.Active:=false;
TitleQuery.Active:=false;
IndexQuery.DataBaseName:=SavePath;//错误的箭头指在这里;SavePath是一个路径
TitleQuery.DataBaseName:=SavePath;
IndexQuery.SQL.Clear;
TitleQuery.SQl.Clear;
IndexQuery.Sql.Add('Create Table');
IndexQuery.Sql.Add(fileame1);
IndexQuery.Sql.Add(' (name varchar(20),HasTitle char(1),primary key(name))');
TitleQuery.sql.Add('Create Table');
TitleQuery.Sql.Add(FileName2);
TitleQuery.Sql.Add(' (name varchar(20),parent varchar(20) ,content blob,primary key(name))');
IndexQuery.Prepare;
TitleQuery.Prepare;
IndexQuery.ExecSQL;
TitleQuery.ExecSQL;
end;
...全文
191 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowedforest 2000-09-11
  • 打赏
  • 举报
回复
你试着用一个Tquery控件来实现以上功能吧(应该可以的)。我曾经用两个Tquery来对一个库进行操作,会问题。
taxi 2000-09-10
  • 打赏
  • 举报
回复
对了,在delphi环境中运行也一样出现错误,出错箭头就指向那里
taxi 2000-09-10
  • 打赏
  • 举报
回复
不是这样的,我是在运行我的程序时出错(不是在delphi是运行),就是单击建立数据库表按钮时会出错.而如果IndexQuery和TitleQuery当时没有指向数据库表,就不会出错.
whitehare 2000-09-10
  • 打赏
  • 举报
回复

IndexQuery.Prepare;
前面加一个IndexQuery.Close;
试一试
zcw 2000-09-10
  • 打赏
  • 举报
回复
试着用DATABASE控件,在建完表后刷新一下数据库。
zxghl 2000-09-09
  • 打赏
  • 举报
回复
程序看起来没错。。。
出现此信息大部分原因是你在某次调试程序时,不正常终止,导致这个数据库保持被
打开状态。
解决办法:重新启动delphi;或者干脆重新启动计算机。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧