Inhalt eines DBGrid in CSV extrahieren?



  • Hallo zusammen,

    ich möchte den Inhalt einer DBGrid in eine CSV schreiben. Die DBGrid wird von einer QUERY Gefüttert die vom Anwender verändert werden kann.

    Eine .csv aus einem StringGrid zu füttern, habe ich bisher so realisiert:

    FILE *csv;
    csv = fopen("export.csv", "w");
    
    for(int j=1;j<StringGrid->RowCount;j++)
     {
       for(int i=0;i<StringGrid->ColCount;i++)
         Line = Line + StringGrid->Cells[i][j] + ";";
         Line = Line + "\n";
         fputs(Line.c_str(), csv);
         Line = "";
        Application->ProcessMessages();
      }
     fclose(csv);
    

    Bei der DBGRid habe ich aber weder den Row & Col Count noch kann ich mit "Cells" an die einzelnen Spalten rann.

    Habt ihr n guten Tipp? Dankeschön.



  • Ich habs:

    String Line = "";
    
     FILE *csv;
     csv = fopen((ExtractFileDir(Application->ExeName) + "\\export.csv").c_str(), "w");
    DBGrid->DataSource->DataSet->First();
     for(int j=0;j< DBGrid->DataSource->DataSet->RecordCount;j++)
      {   
        for(int i=0;i<DBGrid->FieldCount;i++)
          Line = Line + DBGrid->Fields[i]->AsString + ";";
        Line = Line + "\n";
        fputs(Line.c_str(), csv);
        Line = "";
        DBGrid->DataSource->DataSet->Next();
       }
     fclose(csv);
    

    Sorry hab den Wink in der FAQ nicht gleich verstanden ;o)


Anmelden zum Antworten