Thema: Delphi Query zu "gross"?

Einzelnen Beitrag anzeigen

xSkaschY

Registriert seit: 19. Jun 2006
Ort: Bünde
95 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Query zu "gross"?

  Alt 6. Jul 2006, 08:23
Hallo r_kerber,

Das Objekt MySQLQuery ist schon verfügbar, da ich ein Paar Zeilen vorher schon ein Query ausführe.

Hier mal die Prozedur:

Delphi-Quellcode:
procedure TformAuftragsedit.FrameResize(Sender: TObject);
var relevantfields: String;
begin
  mysql_connect();
  value_auftragsnummer.Caption := main.AuftragsNr;
  relevantfields := '';

  if MySQLConnection.Connected then begin
    MySQLQuery.SQL.Clear;
    MySQLQuery.SQLConnection := MySQLConnection;

    // Ermittelt alle verfügbaren Spaltennamen und speichert sie in 'relevantfields'.
    try
      statement := 'SHOW COLUMNS FROM `' + main.Tabellenname + '`';
      formLog.SQLAbfragen.Lines.Add('TformAuftragsedit.FrameResize (Line: 84):');
      formLog.SQLAbfragen.Lines.Add(statement);
      formLog.SQLAbfragen.Lines.Add('');
      MySQLQuery.SQL.Text := statement;
      MySQLQuery.Open;
      while not MySQLQuery.EOF do begin
        relevantfields := relevantfields + ', `'  + MySQLQuery.FieldByName('Field').AsString + '`';
        MySQLQuery.Next;
      end;
      Delete(relevantfields, 1, 1);
      MySQLQuery.SQL.Clear;
    finally
      // Ermittelt alle Auftragsdaten
      statement := 'SELECT '+relevantfields+' FROM ' + main.Tabellenname + ' WHERE auftragsnr = '''+main.AuftragsNr+''';';
      showmessage(statement);
      formLog.SQLAbfragen.Lines.Add('TformAuftragsedit.FrameResize (Line: 100):');
      formLog.SQLAbfragen.Lines.Add(statement);
      formLog.SQLAbfragen.Lines.Add('');
      MySQLQuery.SQL.Text := statement;
      (*
      * Hier bekomme ich die AV!
       *)

      MySQLQuery.Open;

      //value_montuer.Text := MySQLQuery.FieldByName('montuer').AsString;
      MySQLQuery.Close;
    end;
  end;
end;

Im SQLAbfragen Fenster steht diese SQL-Statements drin:

SQL-Code:
// TformAuftragsedit.FrameResize (Line: 84):
SHOW COLUMNS FROM `table_03_07_06`

// TformAuftragsedit.FrameResize (Line: 100):
SELECT `id`, `montuerid`, `montuer`, `auftragsnr`, `aki`, `onkz`, `asb`, `rufnr`, `strstandort`, `lsz`, `lszz`, `kuzeit`, `hvt`, `kvt`, `x12`, `x14`, `x16`, `x19`, `bemerkung`, `tea2x6`, `ntbaeinschub`, `montagebericht`, `courtesycall`, `rosikenner`, `erstehvtschaltung`, `erstekvtschaltung`, `fehlerimzugangsnetz`, `endleitungsnetz`, `anschlussbereitstellenamhvt`, `kundenfahrtbebeibae`, `anschlussbereitstellenbeimkunden`, `endleitungapl`, `antrittspauchalefuerexpressauftreage`, `stundenverrechnungssatz`, `zulagefuerweiterehvtschaltung`, `zulagefuerweiterekvtschaltung`, `installationskabel2da`, `installationskabel2dabis10da`, `verteileinrichtungen2da`, `schaltenmitgeschirmtenschaltdraht` FROM table_03_07_06 WHERE auftragsnr = '056-0129101/06';
  Mit Zitat antworten Zitat