DBGrid1.DataSource.DataSet.FieldByName('').As...
取出来的数据就是当前记录中的内容啊!
TO:zswang(伴水)(伤心中) 
用Sql Server 用你的这种方法取得的是-1;

解决方案 »

  1.   

    如果多条记录被选中的话请用:
      with myDBGrid do
      begin
        if SelectedRows.Count>0 then
          with DataSource.DataSet do
            for i:=0 to SelectedRows.Count-1 do
            begin
              GotoBook(pointer(SelectedRows.Items[i]));
              myDBGrid.DataSource.DataSet.FieldByName('').As...
              ....
            end;
      end;
      

  2.   

    是吗?
    我以前难道用的都是在编辑状态下的
    这个我道是不记得了,
    我只记得这个东西对Sql Server 支持得不好!
      

  3.   

    第一,如果选中1条记录的话,用DBGrid.DataSource.DataSet.RecNo就可以了
    第二,如果选中多条记录with myDBGrid do
      begin
        if DBGrid.SelectedRows.Count>0 then
          with DataSource.DataSet do
            for i:=0 to SelectedRows.Count-1 do
            begin
              GotoBook(pointer(SelectedRows.Items[i]));
              myDBGrid.DataSource.DataSet.FieldByName('').As...
              ....
            end;
      end;
      

  4.   

    龟:你前面的方法是可以的,不过我现在叶是用Sql Server我不觉得有什么不好呀
    前面的代码delphi帮助文件中是可以找到的