注册 登录
编程论坛 Delphi论坛

[] 哪里错了 谢谢

zhansong333 发布于 2006-04-26 12:45, 579 次点击
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
begin
with query2 do
begin
close;
sql.clear;
sql.add('delete from 备用题库');
execsql;
end;
str:='insert into 备用题库 select * from 题库 where 章节=:zj';
Query1.close;
Query1.sql.clear;
Query1.sql.add(str);
query1.params[0].asstring:=edit1.text;
Query1.open;
end;
换成这种方法,还是错!郁闷,运行后,点击button1,出现提示错误:
Error creating cursor handle !
但备用题库里面还是插入了 从题库中所选的题目!
不知道是哪里出问题了, 忠心感谢帮忙解决问题的人
4 回复
#2
ysp_19842006-04-26 13:22
str:='insert into 备用题库 select * from 题库 where 章节=:zj';
这一句好象不是这样写的 你试试下面的:
str:=' select * insert into 备用题库 from 题库 where 章节=:zj';
我记得不是很清楚了


#3
zhansong3332006-04-26 13:34

谢谢 ysp_1984
str:='insert into 备用题库 select * from 题库 where 章节=:zj';
这种写法没错啊;翻了好多书都是这么写的。
感觉语法没什么错误啊!但就是出现
Error creating cursor handle !
毕业设计卡在这儿没法做了!好郁闷啊

#4
zhansong3332006-04-26 13:40
问题解决了
把query1.open 改为 query1.execsql 就可以了 (不知道为什么要这么改,但一改就没错了)
多谢 多谢
#5
ysp_19842006-04-27 13:26
哦 我还没有在意来!如果TQuery具有返回结果的,就用open否则用ExecSQL.

如:
with query2 do
begin
close;
sql.clear;
sql.add('delete from 备用题库');
Execsql;//不能用open;
end;
with query1 do
begin
close;
sql.clear;
sql.add('select * from 备用题库');
open;//不能用Execsql
end;


1