![]() |
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 |
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: |
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. |
Re: SQl - ergebniss
Danke - so bin ich schonmal auf dem richtigen weg :)
|
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?
|
Re: SQl - ergebniss
Hallo,
in einer DBase-Datenbank kannst du mit SQL arbeiten. Als eine weitere Alterntive wäre noch :
Delphi-Quellcode:
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.
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; |
Re: SQl - ergebniss
So langsam verstehe ich es :)
eine Frage habe ich aber noch - kann ich ein Memo-Feld auch mit SQL durchsuchen? |
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:
% ist ein Platzhalter in dem Fall. Wie * bei Dateinamen.
SELECT * FROM Tabelle WHERE MemoFeld LIKE '%Suchtext%'
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz