这是源代码,每次执行查询时当时都不能显示,要关闭窗体重新打开时才有.而且,如果一连点击两次查询按钮,就会有" project project1.exe raised exception class EDBEngineError with message 'key violation'.process stopped.use step or run to continue."的提示.请问这是哪里出了问题,该怎么解决啊!
procedure Tform77.Button1Click(Sender: TObject);
var
zhenghao:string;
table3:ttable;
begin
if table1.Locate('书名',edit1.Text ,[lopartialkey]) then
begin
zhenghao:=table1.FieldValues ['借阅证号'];
if table2.Locate('借阅证号',zhenghao,[lopartialkey]) then
begin
table3:=ttable.Create(self);
table3.DatabaseName :='rsg1';
table3.TableName :='zhongjie.db';
table3.Open ;
table3.Append ;
table3.FieldByName('借阅证号').AsString :=table2.FieldValues['借阅证号'];
table3.FieldByName('院系').AsString :=table2.FieldValues['院系'];
table3.FieldByName('姓名').AsString :=table2.FieldValues['姓名'];
table3.FieldByName('班级').AsString :=table2.FieldValues['班级'];
table3.FieldByName('性别').AsString :=table2.FieldValues['性别'];
table3.Post ;
end
else
showmessage('查无此人!');
end
else
showmessage('此书没有被借出!');
end ;
procedure Tform77.Button1Click(Sender: TObject);
var
zhenghao:string;
table3:ttable;
begin
if table1.Locate('书名',edit1.Text ,[lopartialkey]) then
begin
zhenghao:=table1.FieldValues ['借阅证号'];
if table2.Locate('借阅证号',zhenghao,[lopartialkey]) then
begin
table3:=ttable.Create(self);
table3.DatabaseName :='rsg1';
table3.TableName :='zhongjie.db';
table3.Open ;
table3.Append ;
table3.FieldByName('借阅证号').AsString :=table2.FieldValues['借阅证号'];
table3.FieldByName('院系').AsString :=table2.FieldValues['院系'];
table3.FieldByName('姓名').AsString :=table2.FieldValues['姓名'];
table3.FieldByName('班级').AsString :=table2.FieldValues['班级'];
table3.FieldByName('性别').AsString :=table2.FieldValues['性别'];
table3.Post ;
end
else
showmessage('查无此人!');
end
else
showmessage('此书没有被借出!');
end ;
var
zhenghao:string;
table3:ttable;
begin
if table1.Locate('书名',edit1.Text ,[lopartialkey]) then
begin
zhenghao:=table1.FieldValues ['借阅证号'];
if table2.Locate('借阅证号',zhenghao,[lopartialkey]) then
begin
table3:=ttable.Create(self);
table3.DatabaseName :='rsg1';
table3.TableName :='zhongjie.db';
table3.Open ;
table3.Append ;
table3.FieldByName('借阅证号').AsString :=table2.FieldValues['借阅证号'];
table3.FieldByName('院系').AsString :=table2.FieldValues['院系'];
table3.FieldByName('姓名').AsString :=table2.FieldValues['姓名'];
table3.FieldByName('班级').AsString :=table2.FieldValues['班级'];
table3.FieldByName('性别').AsString :=table2.FieldValues['性别'];
table3.Post ;
table3.close;
table3.Destory;
end
else
showmessage('查无此人!');
end
else
showmessage('此书没有被借出!');
end ;