AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nicht?

Ein Thema von Plague · begonnen am 7. Mär 2004 · letzter Beitrag vom 7. Mär 2004
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#1

SQL Befehl (SELECT Begriff FROM Tabelle) Was stimmt nicht?

  Alt 7. Mär 2004, 15:07
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: 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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

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

  Alt 7. Mär 2004, 15:21
Hai Plague,

der SQL-SELECT-Befehl ist so aufgebaut:

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

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

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.

SELECT name,vorname FROM tabelle WHERE name = 'sharkyORDER 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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

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

  Alt 7. Mär 2004, 15:23
z.B. so: DataSet.SelectSQL.Text := 'SELECT * FROM MYTABLE WHERE BEGRIFF ='+ Edit1.Text);
Gruß
Hansa
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#4

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

  Alt 7. Mär 2004, 15:32
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?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

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

  Alt 7. Mär 2004, 15:37
Zeige mal den Teil des quellcodes wo Du die SQL-Abfrage machst!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#6

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

  Alt 7. Mär 2004, 15:40
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.
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#7

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

  Alt 7. Mär 2004, 15:42
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;
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8

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

  Alt 7. Mär 2004, 15:51
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?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#9

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

  Alt 7. Mär 2004, 15:54
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#10

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

  Alt 7. Mär 2004, 15:56
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 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