我的dbgrid连到clientdataset1,执行查询以后,客户端接受10个数据在dbgrid中显示,其中有编号,姓名,年龄三个字段,当我选择其中一行后点击删除按钮。(由于我是调用服务端过程无法用clientdataset1.delete来实现以上功能,所以选择执行sql的方法)procedure Tform7.BitBtn3Click(Sender: TObject);//删除程序
var
vdel:olevariant;
sdele:string;
begin
sdele:=dbgrid1.SelectedField.AsString;//此行命令是将当前选择字段的数值传给sdele;
 with adoquery1 do 
  begin
   sql.clear; 
   sql.add('delete from table1 where 编号=')//删除编号=sdele的值
   sql.add(''''+sdele+'''');
   adoquery1.exec
   end;
end.
显然我只能点击'编号'这个字段后,以上的sql语句才能正确运行,如果我点击的是dbgrid中姓名或年龄这个字段肯定是不符合sql的删除条件,但我又无法控制不让用户在dbgrid选择记录时不去点击姓名或年龄字段,请问怎样固定取得dbrgid中所选择的当前记录行中的编号字段值。