Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nicht? (https://www.delphipraxis.net/17625-sql-befehl-select-begriff-tabelle-stimmt-nicht.html)

Plague 7. Mär 2004 15:07


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

Sharky 7. Mär 2004 15:21

Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
 
Hai Plague,

der SQL-SELECT-Befehl ist so aufgebaut:

SQL-Code:
SELECT [felder die zurückgegeben werden sollen] FROM tabelle WHERE filterbedingung ORDER BY sortierung
z.B.:
SQL-Code:
SELECT * FROM tabelle
Es werden alle Spalten und alle Zeilen der tabelle zurück gegeben.

SQL-Code:
SELECT name,vorname FROM tabelle
Es werden die Spalten name und Vorname von allen Zeilen der tabelle zurück gegeben.

SQL-Code:
SELECT name,vorname FROM tabelle WHERE name = 'sharky'
Es werden die Spalten name und Vorname von allen Zeilen in denen name = sharky ist zurück gegeben.

SQL-Code:
SELECT name,vorname FROM tabelle WHERE name = 'sharky' ORDER BY vorname
Es werden die Spalten name und Vorname von allen Zeilen in denen name = sharky ist zurück gegeben. Aufsteigend sortiert nach dem Vornamen.

Ich hoffe das hilft dir weiter.

Hansa 7. Mär 2004 15:23

Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
 
z.B. so: DataSet.SelectSQL.Text := 'SELECT * FROM MYTABLE WHERE BEGRIFF ='+ Edit1.Text);

Plague 7. Mär 2004 15:32

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?

Sharky 7. Mär 2004 15:37

Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
 
Zeige mal den Teil des quellcodes wo Du die SQL-Abfrage machst!

Plague 7. Mär 2004 15:40

Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
 
Ich habe jetzt noch mal etwas eingegeben, da kam dann dieser Fehler:
http://www.lamprecht-bau.de/Thomas/Music/dp-fehler2.JPG
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:
SELECT * FROM Tabelle WHERE '+q
q ist dabei ein String mit dem Inhalt eines ComboBox1.Text.

Plague 7. Mär 2004 15:42

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;

Sharky 7. Mär 2004 15:51

Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
 
Zitat:

Zitat von Plague
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;
...

Und was steht in ComboBox1.Text?

Plague 7. Mär 2004 15:54

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.

Sharky 7. Mär 2004 15:56

Re: SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nich
 
Zitat:

Zitat von Plague
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.

Dann musst Du das so schreiben:

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.
Seite 1 von 4  1 23     Letzte »    

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