Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   sql query (https://www.delphipraxis.net/167432-sql-query.html)

value is NULL 29. Mär 2012 11:56

sql query
 
Hi Leute

mit folgender Funktion

Delphi-Quellcode:
procedure DoQuery(const sQuerySQL : string; DestList: TStrings);
begin
  DestList.BeginUpdate;
  try
    DestList.Clear;
    oTmpQry := TADOQuery.Create(nil);
    try
      try
        oTmpQry.Connection := Conn;
        oTmpQry.CommandTimeout := 5000;
        oTmpQry.SQL.Text := sQuerySQL;
        oTmpQry.Open;
        while not oTmpQry.eof do begin
          DestList.add(oTmpQry.Fields[0].asString);
          oTmpQry.Next;
        end;
      except
        on e : exception do begin
          Writeln(e.message);
        end;
      end;
    Finally
      oTmpQry.free;
    end;
  finally
    DestList.EndUpdate;
  end;
end;
bekomme ich immer die erste Spalte eines results zurück.
Was müsste ich tun damit ich wirklich alles angezeigt bekomme?

Vielen Dank im Voraus

LG
Steffen

Medium 29. Mär 2012 12:00

AW: sql query
 
Die Frage ist eher, in welcher Form du das nachher brauchst. In einer TStrings gibt's ja nur die eine Dimension, ergo eine Spalte.

Perlsau 29. Mär 2012 12:03

AW: sql query
 
Zitat:

Zitat von value is NULL (Beitrag 1159212)
Delphi-Quellcode:
 ...
        while not oTmpQry.eof do begin
          DestList.add(oTmpQry.Fields[0].asString);
          oTmpQry.Next;

Fields[0] ist nunmal immer nur die erste Spalte ...

value is NULL 29. Mär 2012 12:08

AW: sql query
 
hm... im Endeffekt brauche ich alles was retour kommen kann :/

Medium 29. Mär 2012 12:09

AW: sql query
 
Schön und gut, aber wo und in welcher Form? Wenn dein SQL Statement ein "SELECT * FROM ..." ist, dann ist im Resultset der Querykomponente bereits alles drin.

taveuni 29. Mär 2012 12:10

AW: sql query
 
Zitat:

Zitat von value is NULL (Beitrag 1159221)
hm... im Endeffekt brauche ich alles was retour kommen kann :/

Ja dann iteriere doch einfach noch durch die Fields.

value is NULL 29. Mär 2012 12:16

AW: sql query
 
Irgendwie steh ich am schlauch xD

naja wenn ich ein select * FROM ..... abschieße bekomme ich ja immer so ne schöne Tabelle retour (oder auch nicht)
genau die will ich praktisch als result in meiner Stringlist :/

LG
Steffen

Medium 29. Mär 2012 12:22

AW: sql query
 
Und daran scheitert die Idee: Eine Stringlist ist eben nur eine Liste, keine Tabelle. Es ist quasi immer nur eine Spalte. Wenn du uns aber weiterhin vorenthälst WORIN du die nachher WIE weiterverarbeiten musst, kann man dir keine Alternative anbieten.

value is NULL 29. Mär 2012 12:26

AW: sql query
 
hm..

Vorenthalten wollte ich gar nichts... Habe mir praktisch ein kleines CommandLine Utility gemacht, indem man diverse "Commands" abschießen kann. So wie ein CMD nur viiiiiiiiiiiiiiiiel kleiner.

mit diesem Utility kann ich mich zu einer MSSQL Datenbank verbinden. Jetzt möchte ich hier einbauen, das man mit zB querydb <command> einen SQL Query abschießen kann. Das Ergebnis soll dann schön lesbar ausgegeben werden.

Im Prinzip habe ich das alles... bis auf die schöne Ausgabe :/

LG

Medium 29. Mär 2012 12:30

AW: sql query
 
Delphi-Quellcode:
procedure DoQuery(const sQuerySQL: string);
var
  i: Integer;
begin
    oTmpQry := TADOQuery.Create(nil);
    try
      try
        oTmpQry.Connection := Conn;
        oTmpQry.CommandTimeout := 5000;
        oTmpQry.SQL.Text := sQuerySQL;
        oTmpQry.Open;
        while not oTmpQry.eof do
        begin
          for i := 0 to oTmpQry.Fields.Count-1 do
          begin
            Write(oTmpQry.Fields[i].asString+#9);
          end;
          oTmpQry.Next;
          Writeln;
        end;
      except
        on e : exception do begin
          Writeln(e.message);
        end;
      end;
    Finally
      oTmpQry.free;
    end;
end;
So die Ecke? Lässt halt die Stringliste als Ausgabeparameter weg, und wuppert sofort alles auf die cmd.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr.
Seite 1 von 2  1 2      

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