![]() |
SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nicht?
Hallo,
erst mal glückwunsch zum erfolgreichen Update. Nun zu meinem Problem. Wie schon um Titel steht, bekommte ich bei folgendem SQL-Befehl ein Problem:
Delphi-Quellcode:
.
SELECT Begriff FROM Tabelle
Wenn ich statt Begriff einfach einen * eingebe, funktioniert es. Ich möchte ganz einfach eine ganze Zeile auslesen (zB. wenn ich einen Begriff aus Spalte 4 suche, soll die ganze Zeile ausgegeben werden...). Wie mache ich das? MfG Thomas |
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Hai Plague,
der SQL-SELECT-Befehl ist so aufgebaut:
SQL-Code:
z.B.:
SELECT [felder die zurückgegeben werden sollen] FROM tabelle WHERE filterbedingung ORDER BY sortierung
SQL-Code:
Es werden alle Spalten und alle Zeilen der tabelle zurück gegeben.
SELECT * FROM tabelle
SQL-Code:
Es werden die Spalten name und Vorname von allen Zeilen der tabelle zurück gegeben.
SELECT name,vorname FROM tabelle
SQL-Code:
Es werden die Spalten name und Vorname von allen Zeilen in denen name = sharky ist zurück gegeben.
SELECT name,vorname FROM tabelle WHERE name = 'sharky'
SQL-Code:
Es werden die Spalten name und Vorname von allen Zeilen in denen name = sharky ist zurück gegeben. Aufsteigend sortiert nach dem Vornamen.
SELECT name,vorname FROM tabelle WHERE name = 'sharky' ORDER BY vorname
Ich hoffe das hilft dir weiter. |
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
z.B. so: DataSet.SelectSQL.Text := 'SELECT * FROM MYTABLE WHERE BEGRIFF ='+ Edit1.Text);
|
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Leider hilft das beides nicht.
Es wird entweder alles aus der Datenbank angezeigt oder es erscheint ein Fehler (so nach dem Motto, dass der Suchbegriff nicht in der Tabelle existiert). Kann es vielleicht eine Einstellung in den Komponenten (ZEOS) sein, die das verhindert? |
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Zeige mal den Teil des quellcodes wo Du die SQL-Abfrage machst!
|
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Ich habe jetzt noch mal etwas eingegeben, da kam dann dieser Fehler:
![]() Das bedeutet doch eigentlich, dass mein Program immer nur die Spalten absucht, egal was ich eingebe, oder? Ich habe wären diesem Fehler folgenden SQL Befehl genutzt:
Code:
q ist dabei ein String mit dem Inhalt eines ComboBox1.Text.
SELECT * FROM Tabelle WHERE '+q
|
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Der Code ist dieser:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var LI: TListItem; q :string; begin q:= Combobox1.Text; with ZReadOnlyQuery1 do begin close; SQL.Clear; SQL.Text := ('SELECT * FROM Tabelle WHERE '+q); open; ListView1.Items.BeginUpdate; Listview1.Items.Clear; while not (EOF) do begin LI := Listview1.Items.Add; LI.ImageIndex := 0; LI.Caption := (FieldByName('ID').AsString); LI.SubItems.Add(FieldByName('Spalte1').AsString); LI.SubItems.Add(FieldByName('Spalte2').AsString); LI.SubItems.Add(FieldByName('Spalte3').AsString); LI.SubItems.Add(FieldByName('Spalte4').AsString); LI.SubItems.Add(FieldByName('Spalte5').AsString); LI.SubItems.Add(FieldByName('Spalte6').AsString); LI.SubItems.Add(FieldByName('Spalte7').AsString); LI.SubItems.Add(FieldByName('Spalte8').AsString); Next; end; ListView1.Items.EndUpdate; close; end; end; |
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Zitat:
|
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
In der Combobox steht dann der Begriff den ich suche. Also zum Beispiel ein Jahr (2002) - es gibt eine Spalte "Jahr".
Kurz und knapp. Die Zeilen in denen der Begriff vorkommt sollen aufgelistet werden. |
Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
Zitat:
Delphi-Quellcode:
with ZReadOnlyQuery1 do
begin close; SQL.Clear; SQL.Text := 'SELECT * FROM Tabelle WHERE jahr = ' + q ; open; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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 by Thomas Breitkreuz