AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Query Ergebniss als Datei speichern oder Drucken
Thema durchsuchen
Ansicht
Themen-Optionen

Query Ergebniss als Datei speichern oder Drucken

Ein Thema von renekr · begonnen am 26. Mär 2005 · letzter Beitrag vom 27. Mär 2005
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Query Ergebniss als Datei speichern oder Drucken

  Alt 26. Mär 2005, 13:21
Datenbank: MS SQL Server 2000 • Zugriff über: ADO / SQL Provider for Sql Server
Hi,
Weiß jemand wie man das Query Ergebniss einer Datenabnk abfrage in eine Datei schreiben kann ?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Query Ergebniss als Datei speichern oder Drucken

  Alt 26. Mär 2005, 13:42
Hai renekr,

ich würde das einfach in zwei Schleifen machen. Die erste While Not (Query.eof) do durchläuft alle Datensätze.
Mit der zweiten for - do schreibst Du jedes Feld .AsString in eine Zeile eines TStringGrids. Dieses kannst Du dann ganz einfach speichern.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Query Ergebniss als Datei speichern oder Drucken

  Alt 26. Mär 2005, 19:39
Danke.
Habe ma lgeseh ndas es sowas gibt?
adoquery1.savetofile

weißt du wie oder was es da speichert?
Ich habe ein txt File genommen und da stand alles drin,aber ohne Tab stobs.

Zur Info: Meine Tabelle hat 43 Spalten,also wenn i es so mache dann hab i einiges zuschreiben oder?


Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Query Ergebniss als Datei speichern oder Drucken

  Alt 27. Mär 2005, 06:17
Zitat von renekr:
....weißt du wie oder was es da speichert?....
Mit dieser Methode wird die Ergebnissmenge als XML gespeichert.

Die Anzahl deiner Felder ist egal wenn man es in einer Schleife macht

Hier mal ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  sl : TStringList;
  foo : String;
  ndx : Integer;
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text := 'SELECT * FROM test';
  ADOQuery1.Open;
  sl := TStringList.Create;
  try
    While not(ADOQuery1.Eof) do // Schleife für alle Datensätze
    begin
      foo := '';
      for ndx := 0 to Pred(ADOQuery1.FieldCount) do // Schleife für alle Felder
      begin
        foo := foo + ADOQuery1.Fields[ndx].AsString; // Feld an String hängen
        if (ndx < Pred(ADOQuery1.FieldCount)) then // wenn nicht das letze Feld...
        begin
          foo := foo + ';'; // ... dann Trennzeichen einfügen
        end;
      end;
      sl.Add(foo); // String in TStringList
      ADOQuery1.Next; // Nächsten Datensatz
      Application.ProcessMessages;
    end;
    sl.SaveToFile('c:\blubb.csv'); // Speichern.
  finally
    sl.Free;
  end;
  ADOQuery1.Close;
  ShowMessage('*blubb*');
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz