Entwickler-Ecke
Datenbanken - SQL Abfrage
HotLaps - Mi 18.12.02 11:53
Titel: SQL Abfrage
Hallo!
Ich arbeite mit Delphi 7 und einer Oracle 8.1.7 Datenbank.
Ich würde gerne aus Delphi heraus eine SQL Abfrage starten die mir genau einen Datensatz zurückliefert (besteht nur aus einer Spalte), und
das was da zurückkommt möchte ich einer Variablen zuweisen.
Funktioniert das, und wenn ja, wie?
lkz633 - Mi 18.12.02 12:09
Hi,
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| query.close; query.sql.clear; query.sql.text('select spaltenname from tabelle where spaltenname= ???); query.open;
query.first;
label1.caption:= query.fieldbyname(spaltenname).asfieldtype; |
Hoffe das hilft
Gruss lkz633
Edit: Ich war schneller :D
Alfons-G - Mi 18.12.02 12:11
Das exakte Vorgehen hängt davon ab, ob Du die BDE-Komponenten oder Oracle-spezifische DB-Kompos verwendest, aber im Prinzip ist es bei allen Query-Komponenten gleich. Ich gehe davon aus, dass Du irgendeine Query-Komponente platziert hast:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| strSQL := 'select MeinFeld from MeineTabelle where MeineBedingung = xxxx...'; MeineQuery.SQL.Clear; MeineQuery.SQL.Add (strSQL); MeineQuery.Open; MeineVariable := MeineQuery.Fields[0].AsString; MeineQuery.Close; // Alternativ: ... := MeineQuery.FieldByName('MeinFeld').AsString oder natürlich AsInteger, AsFloat, AsDate ... |
Du musst natürlich bei der where-Bedingung der Abfrage sicher stellen, dass genau ein Datensatz als Ergebnis zurückkommt.
:idea:
HotLaps - Mi 18.12.02 12:45
Vielen Dank!
Quelltext
1: 2: 3: 4: 5: 6:
| strSQL := 'select MeinFeld from MeineTabelle where MeineBedingung = xxxx...'; MeineQuery.SQL.Clear; MeineQuery.SQL.Add (strSQL); MeineQuery.Open; MeineVariable := MeineQuery.Fields[0].AsString; MeineQuery.Close; |
Hat funktioniert!
Code-Tags aktiviert von Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!