dbgrid的格式为:name     tel       addr   .............Tom   12345678     2121    ............
如果我单击了TOM这一行,那么,如何将tom这一行的数据从数据库中取出传送到其他的地方。也就是说,如何判断我单据的关键词是 tom 哪?

解决方案 »

  1.   

    query.fieldbyname('name').asstring = 'Tom'
      

  2.   

    上面的朋友理解我的意思错了我的内容是显示在dbgrid中的内容,我现在想做的是:当我点击 dbgrid中的一行的时候,会根据相应的关键词来显示内容。比如我单击的是tom 的那一行,则,在其它地方显示tom相关的内容
      

  3.   

    问题的关键是:如何判断我点击的那行是 TOM 的那行哪?!
      

  4.   

    procedure TDeptSearchForm.DBGrid1CellClick(Column: TColumn);begin
      adoquery2.Close;
      adoquery2.SQL.Clear;
      adoquery2.SQL.Add('select * from 部门 where 代码='+Quotedstr(dbgrid1.SelectedRows.Items[0]));
      showmessage(adoquery1.SQL.Text);
      adoquery2.Open;end;
    这样写这条语句哪里错了哪?
      

  5.   

    不用,当你点击了,数据库指针会自动定位到指定的行。
    直接用
    Query1.FieldByName().AsString就能取出其他字段的数据了。
      

  6.   

    还是不对,更晕了,是我没说明白,:(现在我要解决的问题是:如果我单击了dbgrid中的某一行,如何取得那一行的第一个值哪?比如,我单击了tom这行,如何取到它(tom)tom的表示方法是:dbgrid1.SelectedRows.Items[0] 吗? 还是别的什么哪?
      

  7.   

    上面二位朋友说得都是根据已经知道了的关键词tom来搜索别的内容。我现在的目的是如何找到tom,而不是根据tom进行搜索,:)
      

  8.   

    Query1.FieldByName(DBGrid1.Columns[0].FieldName).AsString
      

  9.   

    FieldByName('Name').AsString 取不到吗?