代码:
procedure TSearchForm.DBGrid1DblClick(Sender: TObject);
var
i,j,tID:integer;
begin
i:=DBGrid1.SelectedRows.Count;
tID:=DBGrid1.Fields[i].AsInteger;
if Length(IntToStr(tID))<>0 then
begin
With ADOQuery1 do
begin //3
Close;
SQL.Clear;
SQL.Add('select * from Man_AeonCarInfo where Carinfo_Id=:pID');
Parameters.ParamByName('pID').Value:=tID;
Open;
if RecordCount <>0 then
begin
//////显示
end;
end;//end of with
end;
end;
DBGrid 中没有数据时就出错了,我想实现DBGrid有记录时双击在弹出窗口中显示,
没有记录时不作任何动作.
procedure TSearchForm.DBGrid1DblClick(Sender: TObject);
var
i,j,tID:integer;
begin
i:=DBGrid1.SelectedRows.Count;
tID:=DBGrid1.Fields[i].AsInteger;
if Length(IntToStr(tID))<>0 then
begin
With ADOQuery1 do
begin //3
Close;
SQL.Clear;
SQL.Add('select * from Man_AeonCarInfo where Carinfo_Id=:pID');
Parameters.ParamByName('pID').Value:=tID;
Open;
if RecordCount <>0 then
begin
//////显示
end;
end;//end of with
end;
end;
DBGrid 中没有数据时就出错了,我想实现DBGrid有记录时双击在弹出窗口中显示,
没有记录时不作任何动作.
DBGrid.DataSet. IsEmpty=False then
begin
你的代码
end;
var
i,j,tID:integer;
begin
if DbGrid1.DataSource.Dataset.State.Active=false then Exit;
if DbGrid1.DataSource.Dataset.RecordCount=0 then Exit;
.....
end;
exit;
不行吗?
begin
showmessage('没有数据可以查询,请重新定义!');
exit;
end;