小弟刚接触Delphi,最近在学数据库开发时遇到了一个问题,就是查询数据库之后,将结果显示在DBGrid中,但是如果这时我想把DBGrid中某一个单元格中的内容(文本或数值)取出来单独处理,我试了好久都没办法做到,请大家指点一下,不胜感谢!!!!

解决方案 »

  1.   

    DBGrid1.SelectedField.FieldName
    DBGrid1.SelectedField.asstring 
    或者
      DBGrid1.Fields[i].AsString;//as else
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    DBGrid1.DataSource.DataSet.MoveBy(5);//要第5行的
    showmessage(DBGrid1.DataSource.DataSet.Fields.Fields[0].AsString);//第一列的值
    end;
      

  3.   

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      showmessage(column.Field.Value);
    end;
      

  4.   

    得到
    var
      fieldvalue:varint;
    begin
      fieldvalue:=dbgrid1.selectedfield.value;
    end;
    如果写入就反过来用
      

  5.   

    从与dbgrid对应的数据控制控件;adoquery或adodataset
    取数.
     adoquery1.recordNO:=2;
     temp:=adoquery1.fieldbyname('字段名').value;
     或 temp:=adoquery1.fields.fields[1].value; /1 表示是取表中的第二个字段
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      DBGrid1.DataSource.DataSet.MoveBy(5);//指针移到第5行
      DBGrid1.DataSource.DataSet.FieldByName('字段名').AsString;
      DBGrid1.DataSource.DataSet.Fields.Fields[0].AsString;//第一列的值
    end;