Results 1 to 6 of 6

Thread: Query Resultaat opslaan

  1. #1
    Registered User
    Join Date
    Jul 2002
    Location
    Apeldoorn
    Posts
    21

    Unhappy Query Resultaat opslaan

    Ik heb een klein programmaatje gemaakt waarin ik een link leg met een Sybase SQL DB. In het programma laat ik de gebruiker een bestandsnaam invullen (de bestandsnaam komt in een variabele te staan), daarna laat ik de gebruiker een Query uitvoeren op de DB. Het resultaat moet ik dan opslaan in de door de gebruiker gekozen bestandsnaam.

    Ik heb het volgende al geprobeerd:

    code (gedeeltelijke)
    -----------------------------------------------------------------------------------------
    procedure TCiaoIFC.Btn_UitvoerenClick(Sender: TObject);
    begin
    if CheckBox_REV.Checked OR CheckBox_MOP.Checked = False then
    Application.MessageBox(
    'Er is niets te exporteren.',
    'Ciao Interface Bericht', MB_ICONEXCLAMATION or MB_OK) else
    if CheckBox_MOP.Checked AND CheckBox_REV.Checked then
    Application.MessageBox(
    'Er kan maar 1 bestand tegelijk gegenereerd worden.',
    'Ciao Interface Bericht', MB_ICONEXCLAMATION or MB_OK) else
    with Query do
    begin
    Close;
    SQL.Clear;
    SQL.Add('select * from micros.emp_def');
    Open;
    SQL.SaveToFile(Bestand)
    end;
    end;
    --------------------------------------------------------------------------------------

    Deze slaat echter de query op en niet het resultaat. Hoe kan ik het resultaat van deze query, opslaan in het bestand, zonder een eventueel extra component (DBMemo, DBGrid etc) te gebruiken?

    BVD
    Micha van der Ende

  2. #2
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    door de waarde van het veld dat je wil opslaan te benaderen met
    Code:
    mijnQuery.FieldByName('mijnVeld').AsString
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  3. #3
    Er is standaard geen mogelijkheid het resultaat van een query op te slaan, de vervolgvraag zou immers zijn: wat wil je ermee doen? Wil je gebruiker de gegevens bekijken in notepad? Dan zou Ascii voldoende zijn. Wil je gebruiker de gegevens openen in Excel? Dan is CSV het makkelijkst. Kortom: hoe wil je je gegevens opslaan?

    Lees ook even deze thread
    Marcel

  4. #4
    Registered User
    Join Date
    Jul 2002
    Location
    Apeldoorn
    Posts
    21
    Ik wil dat het programma het resultaat van de query als een Ascii file (csv formaat) opslaat / exporteert. Dit bestandje moet dan later ingelezen worden in een andere database.

  5. #5
    Senior Member Neocobe's Avatar
    Join Date
    May 2002
    Location
    Lommel
    Posts
    128

    Opslaan

    Je zou de mogelijk (maar omslachtig) een stringgrid kunnen gebuiken om de resultaten op te slaan en vervolgens als CSV te exporteren


    Zie volgende Snippit


    with dmunit.FarisZ.oracleQuery do
    try
    Execute;
    Row := 1;
    // Vullen van het grid
    while not Eof do
    begin
    Grid.Cell[Row,0].Text := Field('Naam');
    Grid.Rowcount := grid.RowCount + 1;
    Inc(Row);
    Next;
    end;

    Hierna kun je het grid opslaan als CSV

    GRoet

    Neocobe

  6. #6
    Registered User
    Join Date
    Jul 2002
    Location
    Apeldoorn
    Posts
    21
    Ik heb het volgende gebruikt, waarbij ik een DBGrid heb toegevoegd aan de Form en de volgende code in de Unit:

    -----------------------------------------------------------------------------------------------
    procedure TForm1.Btn_OpslaanClick(Sender: TObject);
    var
    mem : TMemo;
    sline : string;
    col, row : Integer;
    begin
    mem := TMemo.Create(Self);
    mem.Visible := false;
    mem.Parent := Form1;
    mem.Clear;
    sline := '';

    for row := 0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
    begin
    sline := '';
    for col := 0 to DBGrid1.FieldCount-1 do
    sline := sline + DBGrid1.Fields[col].AsString + ',';
    mem.Lines.Add(sline);
    DBGrid1.DataSource.DataSet.Next;
    Mem.Lines.SaveToFile(Bestand);
    end;
    ------------------------------------------------------------------------------------------

    Mag ik jullie allen danken voor jullie aandacht en moeite om te reply'en.

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Replies: 7
    Last Post: 14-Nov-04, 20:09
  2. Resultaat SQL query gebruiken
    By Stroek in forum Databases
    Replies: 2
    Last Post: 05-Jul-02, 13:52
  3. Replies: 1
    Last Post: 07-Mar-02, 19:56

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
  •