各位好:
  我在执行一个sql语句后,得到一个ds结果集,然后能不能知道这个结果集有多少个字段?
  因为我想写一个将结果集动态的写入excel的方法,各位大神,有经验的赐教一下,谢谢
  总体的方法实现的是:随意执行一个SQL语句,得到一个结果集,写入到excel里,第一行是字段名,第二行开始是结果。
  谢谢!

解决方案 »

  1.   

    你好,谢谢,是ds.FieldCount返回结果集的列数。
    还有一个问题:我不知道结果集各字段的名称,我想从第一列取到最后一列,用什么方法?
    java里有ds.getString(1),这个代表取结果集的第一列的值,请问delphi有这个方法吗?
      

  2.   

    通过循环总列数也可以取值
    Fields[i].AsString    //这里的是字段保存的值
      

  3.   


    for i:=0 to ds.FieldCount-1 do
    ds.Fields[i].FieldName; //FieldName就是字段的名称
      

  4.   

    我觉得方法实现很简单,DS绑定一个DBgrideh,再用它的导出功能,中间可以省事很多,并且还可以省去循环和写入EXCEL的步骤,效率也就上来了~
    就三句代码:
    var ExpClass:TDBGridEhExportClass;ExpClass := TDBGridEhExportAsXLS;
    SaveDBGridEhToExportFile(ExpClass,TempGrid,filePath,True);--TempGrid为表格名称,filePath--为保存路径