Results 1 to 8 of 8

Thread: TNLDClientDataSet exporteren naar csv

  1. #1
    Senior Member
    Join Date
    Nov 2001
    Location
    Eindhoven
    Posts
    344

    Red face TNLDClientDataSet exporteren naar csv

    Ik ben mijn eerste stapjes met een TNLDClientDataSet aan het maken omdat ik probeer een csv bestand aan te maken.
    Als ik de knop voor Export aanroep (het bestand test.csv bestaat nog niet)
    Code:
      NLDClientDataSet1.ExportToCSV('c:\test.csv');
    Krijg ik de foutmelding
    Code:
      Could not convert variant of type (Null) into type (String)
    Hij maakt echter wel het bestand c:\test.csv aan, maar alleen de kop wordt gevuld en niet de noodzakelijke regels.

    Moet ik vooraf een dataset aanmaken of velden voorvullen of zoiets?

    Heeft iemand een idee?
    Alvast bedankt, Willem-Jan
    Maak er iets moois van!!!

  2. #2
    Ja dat idee heeft Marcel vandeweek toevallig opgelost, ik zal vragen of hij dit morgen in de laatste versie online wilt zetten. Maar ik kan ondertussen ook wel even kijken voor je...

  3. #3
    Senior Member
    Join Date
    Nov 2001
    Location
    Eindhoven
    Posts
    344
    Toeval bestaat dus toch, maar voorheen werkte het toch wel of niet?
    Maak er iets moois van!!!

  4. #4
    In NLDCsvStringUtilsU.pas staat een Export Rows. De NULL controle was daar niet helemaal goed.
    Code:
      procedure ExportRows;
      var
        i: Integer;
        FieldValue: string;
        RowValue: string;
      begin
        with DataSet do
          while not Eof do
          begin
            RowValue := '';
            for i := 0 to Fields.Count -1  do
            begin
              with Fields[i] do
                if not IsNull then
                begin
                  if DataType in [ftString, ftMemo] then
                    FieldValue := '"' + Value + '"'
                  else
                    FieldValue := Fields[i].Value;
                end
                else
                begin
                  if DataType in [ftString, ftMemo] then
                    FieldValue := '""';
                  else
                    FieldValue := '';
                end;
    
    
              RowValue := RowValue + FieldValue + FSeperator;
            end;
    
            System.Writeln(FTextFile, RowValue);
            Next;
          end;
      end;
    Volgens mij was dit de oplossing

  5. #5
    • Verplaatst van Algemeen naar NLDDatabaseTools.


    Even in dit hoekje. Nee het heeft waarschijnlijk niet eerder gewerkt. Ik heb er niet meer aan geklust, waarschijnlijk heb je nu toevallig een CDS file met een <> string/memo veld met een NULL waarde. En die werd vrolijk niet goed afgehandeld....

    En toeval, mwah we liepen toevallig maandag tegen hetzelfde probleem aan en toen maar gelijk opgelost.

  6. #6
    Senior Member
    Join Date
    Nov 2001
    Location
    Eindhoven
    Posts
    344

    Thumbs up Opgelost

    Er zat nog 1 klein foutje in (een ; voor else)

    Het moet dus zijn:
    Code:
    procedure ExportRows;
      var
        i: Integer;
        FieldValue: string;
        RowValue: string;
      begin
        with DataSet do
          while not Eof do
          begin
            RowValue := '';
            for i := 0 to Fields.Count -1  do
            begin
              with Fields[i] do
                if not IsNull then
                begin
                  if DataType in [ftString, ftMemo] then
                    FieldValue := '"' + Value + '"'
                  else
                    FieldValue := Fields[i].Value;
                end
                else
                begin
                  if DataType in [ftString, ftMemo] then
                    FieldValue := '""'
                  else
                    FieldValue := '';
                end;
    
    
              RowValue := RowValue + FieldValue + FSeperator;
            end;
    
            System.Writeln(FTextFile, RowValue);
            Next;
          end;
      end;
    Wat zijn jullie toch geweldig fijne mensen,

    Ciao,
    Willem-Jan
    Maak er iets moois van!!!

  7. #7
    LOL ja ik had 't niet gecompileerd . Maar goed, het is opgelost.

  8. #8
    De nieuwe versie zit nu in FreeVCS.
    Marcel

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •