我用ado连接sqlserver数据库
ADOConnection1-->ADOQuery1-->DataSource1-->DBGrid1可在dbgrid内显示数据表内容
然后想在edit1组件内输入某值后移开
procedure TForm1.Edit1Exit(Sender: TObject);
var
loca_str:String;begin
with adoquery1 do
begin if edit1.text<>'' then
loca_str:=edit1.text;
if adoquery1.locate('sn', VarArrayOf([(loca_str)]),[loPartialKey]) then
StatusBar1.SimpleText:='找到了关于'+Edit1.Text+'的记录'
else
StatusBar1.SimpleText:='没有找到了关于'+Edit1.Text+'的记录'
end ;
end;
但是以上运行后,我在edit1组件内输入完数后,移开光标就出错。注解:sn是数据表内字段
ADOConnection1-->ADOQuery1-->DataSource1-->DBGrid1可在dbgrid内显示数据表内容
然后想在edit1组件内输入某值后移开
procedure TForm1.Edit1Exit(Sender: TObject);
var
loca_str:String;begin
with adoquery1 do
begin if edit1.text<>'' then
loca_str:=edit1.text;
if adoquery1.locate('sn', VarArrayOf([(loca_str)]),[loPartialKey]) then
StatusBar1.SimpleText:='找到了关于'+Edit1.Text+'的记录'
else
StatusBar1.SimpleText:='没有找到了关于'+Edit1.Text+'的记录'
end ;
end;
但是以上运行后,我在edit1组件内输入完数后,移开光标就出错。注解:sn是数据表内字段
改成:
if adoquery1.locate('sn', loca_str,[loPartialKey])
看看!