Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQl - ergebniss (https://www.delphipraxis.net/108317-sql-ergebniss.html)

croissant 11. Feb 2008 15:53

Datenbank: D-base • Zugriff über: BDE

SQl - ergebniss
 
Hallo,

ich versuche mich gerade zum ersten mal an einer SQl Abfrage. Nun habe ich ein kleines Problem wo ich nicht weiterkomme.

Ich starte eine Abfrage: "select* from "Tabellenname""

Nun als Ergebniss müsste ich ja nun alles bekommen was in dieser Tabelle ist. Nur leider weiß ich jetzt nicht richtig wie ich das Ergebniss in Delphie mir anzeigen lasse.....


Vielen Dank für eure hilfe

haentschman 11. Feb 2008 16:06

Re: SQl - ergebniss
 
Hallo...

die Ergebnismenge Deiner Query kannst Du interpretieren wie einen Tabelleninhalt.
d.h. du kannst Dir aus einer großen Tabelle die Informationen holen, welche Du benötigst und kannst dann auch nur diese anzeigen bzw. weiterverarbeiten.

Ausgabe:
- mit DBGrid
- mit DBEdit Feldern etc. wie mit Tabelle direkt.

hoffe geholfen zu haben... :hi:

RavenIV 11. Feb 2008 16:07

Re: SQl - ergebniss
 
Du brauchst ein TQuery, eine TDataSource und ein TDBGrid.

In der TQuery trägst Du das SQL-Statement ein.
Das TQuery gibst Du der TDataSource als DataSet.
Im TDBGrid gibst Du die TDataSource als DataSource an.

In der TQuery die Property Active auf True stellen und schon sollte das TDBGrid die Daten anzeigen.

Ich rate Dir aber, die verschiedenen Tutorials in der Tutorial-Sparte mal durchzuarbeiten.

croissant 11. Feb 2008 19:03

Re: SQl - ergebniss
 
Danke - so bin ich schonmal auf dem richtigen weg :)

croissant 11. Feb 2008 19:10

Re: SQl - ergebniss
 
Eine frage zum Verständniss habe ich aber noch. Ich nutze dbase als Datenbank. Kann ich da überhaupt mit SQL arbeiten oder müsste ich die Daten erst in einen SQL Server überspielen?

RWarnecke 11. Feb 2008 19:15

Re: SQl - ergebniss
 
Hallo,

in einer DBase-Datenbank kannst du mit SQL arbeiten.

Als eine weitere Alterntive wäre noch :
Delphi-Quellcode:
  with IBDBBasketDetail do begin
    SQL.Clear;
    SQL.Add('SELECT * FROM ' + postkorb + ' WHERE Auftragsnr=' + QuotedStr(detailsrch) + ';');
    Open;
    Active := true;
    Nachname.Caption := Fields[6].AsString;
    Vorname.Caption := Fields[5].AsString;
    Strasse.Caption := Fields[7].AsString;
    PLZ.Caption := IntToStr(Fields[8].AsInteger);
    Ort.Caption := Fields[9].AsString;
    Telefonnr.Caption := Fields[10].AsString;
    Auftragsart.Caption := Fields[2].AsString;
    Auftragsdatum.Caption := Fields[3].AsString;
    ErledigtBis.Caption := Fields[4].AsString;
    Active := false;
  end;
IBDBBasketDetail ist Deine Query. Hier öffne ich eine Abfrage und hole mir nur bestimmte Felder aus der Tabelle und schreibe dessen Werte in die Captions.

croissant 11. Feb 2008 20:15

Re: SQl - ergebniss
 
So langsam verstehe ich es :)

eine Frage habe ich aber noch - kann ich ein Memo-Feld auch mit SQL durchsuchen?

Nuclear-Ping 11. Feb 2008 20:32

Re: SQl - ergebniss
 
Statt Fields[x] kannst du auch FieldByName('SpaltenName').AsXYZ nehmen. Damit liegst du auf der sicheren Seite, falls sich mal die Struktur deiner DB ändert.

Ein Memofeld kannst du mit LIKE durchsuchen. Aber kA, ob das dein Server unterstützt.
SQL-Code:
SELECT * FROM Tabelle WHERE MemoFeld LIKE '%Suchtext%'
% ist ein Platzhalter in dem Fall. Wie * bei Dateinamen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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