我用了两个edit1(编号),和eidt2(条形码头),开始在编号里输入,可以显示出来,
用radio单选,选第二个条形码,输入后,就出错,
代码如下,谢谢
try
adotable1.Open;
if adotable1.Locate('图书编号',edit1.text,[locaseInsensitive]) or  adotable1.Locate('条形码',edit2.text,[locaseInsensitive])
then
begin
edit3.Text :=adotable1.fieldbyname('书名').AsString ;
edit4.Text :=inttostr(adotable1.fieldbyname('条形码').AsInteger );
edit5.Text :=adotable1.fieldbyname('出版社').AsString ;
edit6.Text :=datetostr(adotable1.fieldbyname('出版时间').AsDateTime );
edit7.Text :=inttostr(adotable1.fieldbyname('图书编号').AsInteger );
edit8.text:=inttostr(adotable1.fieldbyname('现存数量').AsInteger );
edit9.Text :=adotable1.fieldbyname('类别').AsString ;
edit10.Text :=floattostr(adotable1.fieldbyname('图书价格').AsFloat );
edit11.Text :=adotable1.fieldbyname('作者').AsString ;
end
else
showmessage('没找到');except
showmessage('错误');
end

解决方案 »

  1.   

    else
    showmessage('没找到');adotable1.close;????
      

  2.   

    对呀,通过编号或条形码查找呀需要的数据呀
    如果没找到就弹出‘没找到’对话框,
    错在哪
    if adotable1.Locate('图书编号',edit1.text,[locaseInsensitive]) or  adotable1.Locate('条形码',edit2.text,[locaseInsensitive])
      

  3.   

    adotable1.Locate('条形码',edit2.text,[locaseInsensitive])'条形码' is integer, edit2.text is stringadotable1.Locate('条形码',strtoint(edit2.text),[locaseInsensitive])
      

  4.   

    呵呵,大力也来Delphi版混分了