程序还可以优化一下。
如这几句:
with adoquery1 do begin
close;
sql.Clear;
sql.Add('select empname,photo from employee where empcardno=');
sql.Add(' '''+ carnumber +''' ');
Open;
end
不应该放在OnClick中,最好放在FormCreate事件中,这样Timer每次的OnTimer事件就不会每次都要作一个
close;
sql.Clear;
sql.Add('select empname,photo from employee where empcardno=');
sql.Add(' '''+ carnumber +''' ');
动作了。
改动后如下:
procedure TForm1.FormCreate(Sender;TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select empname,photo from employee where empcardno=':CardNO');
sql.Prepare;
end
end;procedure TForm1.onClick;
var
carnumber:string; //用来存取得的IC卡卡号
begin
setlength(carnumber,5);
carnumber:=pchar(get_carnumber); // 函数返回新纪录的卡号 if (carnumber='')or(carnumber=Vtmp_cn) then exit; //如果卡号没有取得
//或者与上次取得一样
//则退出,不进行数据查询 ADOQuery1.Close;
ADOQuery1.Params[0].AsString:=carnumber;
ADOQuery1.Open;
end; //根据卡号查询卡号对应的相片 show_jpeg; //调用show_jpeg过程 显示卡号所对应的相片 vtmp_cn:=carnumber; //把最新的卡号存到虚拟号中去,以便下次进行对比
end;
//以上随手写的代码,可能有错。只给你作一个参考吧
如这几句:
with adoquery1 do begin
close;
sql.Clear;
sql.Add('select empname,photo from employee where empcardno=');
sql.Add(' '''+ carnumber +''' ');
Open;
end
不应该放在OnClick中,最好放在FormCreate事件中,这样Timer每次的OnTimer事件就不会每次都要作一个
close;
sql.Clear;
sql.Add('select empname,photo from employee where empcardno=');
sql.Add(' '''+ carnumber +''' ');
动作了。
改动后如下:
procedure TForm1.FormCreate(Sender;TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select empname,photo from employee where empcardno=':CardNO');
sql.Prepare;
end
end;procedure TForm1.onClick;
var
carnumber:string; //用来存取得的IC卡卡号
begin
setlength(carnumber,5);
carnumber:=pchar(get_carnumber); // 函数返回新纪录的卡号 if (carnumber='')or(carnumber=Vtmp_cn) then exit; //如果卡号没有取得
//或者与上次取得一样
//则退出,不进行数据查询 ADOQuery1.Close;
ADOQuery1.Params[0].AsString:=carnumber;
ADOQuery1.Open;
end; //根据卡号查询卡号对应的相片 show_jpeg; //调用show_jpeg过程 显示卡号所对应的相片 vtmp_cn:=carnumber; //把最新的卡号存到虚拟号中去,以便下次进行对比
end;
//以上随手写的代码,可能有错。只给你作一个参考吧
解决方案 »
- 有点不明白...谁能给我解释一下!
- dephi远程调试总是出现CPU窗口, 在线等!急!
- 共享一种思想,参与讨论有分(100)
- 求一最佳解决方案,欢迎参与讨论
- 老问题:TQuery:插入一条记录提交后其他有记录会隐藏不见
- TDateTime和String 如何让相互转换?急!
- 为什么控件的在属性框里的属性之改变了,而.dfm里存的属性值却没变?(急,在线等待,up给分)
- quiz about flat style ?
- to:first_lover(冷雨夜),又漏一个,如果还要讨论; To here Go on;
- 菜鸟问题:如何使Label在鼠标进入时发生变化?
- AnimateWindow的問題??
- 如何解决立即数据刷新的问题?
我在查询前已经有个条件语句了呀,如果取不得卡或者得到的纪录与上次的一样就退出,不查了
if (carnumber='')or(carnumber=Vtmp_cn) then exit;