我连接的数据库是Access,用的相对路径。
这个错误怎么纠错呢?是什么引起的?搞了很久都没搞定!急啊!错误。而且这种错误发生比较随机,时好时坏。
贴一段生成试卷保存和试卷浏览的代码,恳请个位高手帮忙!感激不尽!
//试卷浏览
procedure TForm_shijuan_view.BitBtn1Click(Sender: TObject);
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 试卷信息 where 课程=:课程');
adoquery1.Parameters.ParamByName('课程').Value:=combobox1.Text;
adoquery1.ExecSQL;
adoquery1.Open;
statusbar1.Panels[0].Text:='共有'+inttostr(adoquery1.RecordCount)+'条记录';
dbgrid1.Enabled:=true;
end;
//生成试卷保存一些信息到“试卷信息”表
procedure TForm_automatic_edit.BitBtn12Click(Sender: TObject);
var
i:integer;
begin
if combobox4.Text='' then
Application.MessageBox('请选择要保存的试卷文件位置','提示信息',mb_ok)
else
begin
adotable1.Open;
for i:=0 to t-1 do
if adotable1.Locate('题目内容',infors[i].neirong,[])=true then
begin
adotable1.Edit;
adotable1.FieldByName('使用次数').AsInteger:=adotable1.FieldByName('使用次数').AsInteger+1;
adotable1.Post;
end;
adotable1.close;
end;
adotable2.Open;
adotable2.Append;
adotable2.FieldByName('名称').AsString:=combobox7.Text;
adotable2.FieldByName('课程').AsString:=combobox1.Text;
adotable2.FieldByName('等级').AsString:=combobox2.Text;
adotable2.FieldByName('专业').AsString:=combobox5.Text;
adotable2.FieldByName('班级').AsString:=combobox6.Text;
adotable2.FieldByName('总分').AsInteger:=strtoint(edit4.Text);
adotable2.FieldByName('难易程度').AsString:='一般';
adotable2.FieldByName('题量').AsInteger:=strtoint(edit5.Text);
adotable2.FieldByName('出卷时间').AsDateTime:=date();
adotable2.FieldByName('试卷文件位置').AsString:=combobox4.Text;
adotable2.FieldByName('出卷老师').AsString:=form_in.ComboBox1.Text;
adotable2.FieldByName('试卷分析').AsString:='自动出卷';
adotable2.Post;
adotable2.Close;
adotable3.Open;
if adotable3.Locate('课程名',combobox1.Text,[])=true then
begin
adotable3.Edit;
adotable3.FieldByName('试卷总数').AsInteger:=adotable3.FieldByName('试卷总数').AsInteger+1;
adotable3.Post;
end;
adotable3.Close;
bitbtn13.Enabled:=true;
end;
7 个解决方案
#1
看看连接字符串是什么
在出错的地方try一下检查
在出错的地方try一下检查
#2
连接字符串错误。
#3
procedure TForm1.Button1Click(Sender: TObject);
var sqll:string;
begin
with query1 do
begin
close;
sqll:='select * from jcxs where 轿车名称 like :a%';
sql.Clear;
sql.Add(sqll);
Params[0].AsString:=trim(edit1.text);
execsql;
open
end;
end;
var sqll:string;
begin
with query1 do
begin
close;
sqll:='select * from jcxs where 轿车名称 like :a%';
sql.Clear;
sql.Add(sqll);
Params[0].AsString:=trim(edit1.text);
execsql;
open
end;
end;
#4
不好意思~
刚才网络挂吊了~
所以发错了~~
:)
刚才网络挂吊了~
所以发错了~~
:)
#5
路径加了没有?是相对路径么?
#6
你的连接有问题 看看那里
你的程序里边是不是有中文的变量名字啊
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 试卷信息 where 课程=:‘’课程‘’?????’);
adoquery1.Parameters.ParamByName('课程').Value:=combobox1.Text;
//////////////adoquery1.ExecSQL;?????????????????
adoquery1.Open;
你的程序里边是不是有中文的变量名字啊
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 试卷信息 where 课程=:‘’课程‘’?????’);
adoquery1.Parameters.ParamByName('课程').Value:=combobox1.Text;
//////////////adoquery1.ExecSQL;?????????????????
adoquery1.Open;
#7
bde设置错误
#1
看看连接字符串是什么
在出错的地方try一下检查
在出错的地方try一下检查
#2
连接字符串错误。
#3
procedure TForm1.Button1Click(Sender: TObject);
var sqll:string;
begin
with query1 do
begin
close;
sqll:='select * from jcxs where 轿车名称 like :a%';
sql.Clear;
sql.Add(sqll);
Params[0].AsString:=trim(edit1.text);
execsql;
open
end;
end;
var sqll:string;
begin
with query1 do
begin
close;
sqll:='select * from jcxs where 轿车名称 like :a%';
sql.Clear;
sql.Add(sqll);
Params[0].AsString:=trim(edit1.text);
execsql;
open
end;
end;
#4
不好意思~
刚才网络挂吊了~
所以发错了~~
:)
刚才网络挂吊了~
所以发错了~~
:)
#5
路径加了没有?是相对路径么?
#6
你的连接有问题 看看那里
你的程序里边是不是有中文的变量名字啊
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 试卷信息 where 课程=:‘’课程‘’?????’);
adoquery1.Parameters.ParamByName('课程').Value:=combobox1.Text;
//////////////adoquery1.ExecSQL;?????????????????
adoquery1.Open;
你的程序里边是不是有中文的变量名字啊
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 试卷信息 where 课程=:‘’课程‘’?????’);
adoquery1.Parameters.ParamByName('课程').Value:=combobox1.Text;
//////////////adoquery1.ExecSQL;?????????????????
adoquery1.Open;
#7
bde设置错误