AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-Anfrage mit 2 Parametern
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Anfrage mit 2 Parametern

Ein Thema von Luciano · begonnen am 25. Aug 2004 · letzter Beitrag vom 25. Aug 2004
Antwort Antwort
Luciano

Registriert seit: 17. Dez 2003
Ort: Großostheim
126 Beiträge
 
Turbo Delphi für Win32
 
#1

SQL-Anfrage mit 2 Parametern

  Alt 25. Aug 2004, 12:42
Hi...

Das Topic habe ich vielleicht ein wenig falsch formuliert aber ich wußte nicht wie ich das anders hätte schreiben sollen...

Delphi-Quellcode:
if Checkbox1.Checked then Parameter1 := 'Spaltenname1'; //Parameter1 Variable vom Typ String
if Checkbox2.Checked then Parameter1 := 'Spaltenname2';
if Checkbox3.Checked then Parameter1 := 'Spaltenname3';

with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.ADD('SELECT * FROM TABELLE '+
            'WHERE '+
            ':v_PARAMETER1 LIKE :v_PARAMETER2 ');
    Prepared := true;
    with Parameters do
      begin
        ParamByName('v_PARAMETER1').Value := Parameter1; //eine Spalte aus der Tabelle
        ParamByName('v_PARAMETER2').Value := Edit1.Text +'%';
      end;
    try
      Open;
    except
      ShowMessage('Query Konnte nicht geöffnet werden!');
    end;
  end;
Ich bekomme aber keine Ergebnisse zurück Kann ich einen Spaltennamen überhaupt als Parameter übergeben?

Greets
Mike Santangelo
Wie kann ich den wissen was ich denke, wenn ich nicht höre was ich sage!
  Mit Zitat antworten Zitat
Hansa

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

Re: SQL-Anfrage mit 2 Parametern

  Alt 25. Aug 2004, 12:46
Ich glaube, du verwechselst Feldnamen mit Feldwerten. Oder was nützt es, innerhalb der Daten irgendwas zu finden, das Ähnlichkeiten mit einem Spaltennamen hat ?
Gruß
Hansa
  Mit Zitat antworten Zitat
nieurig

Registriert seit: 26. Apr 2004
113 Beiträge
 
Delphi 6 Professional
 
#3

Re: SQL-Anfrage mit 2 Parametern

  Alt 25. Aug 2004, 12:49
Hallo Mike!

Zitat:
Kann ich einen Spaltennamen überhaupt als Parameter übergeben?
Nein, das geht nicht.
Aber Du kannst beim Aufbau des SQL-Statements den Spaltennamen dynamisch einfügen, etwa so:


Code:
SQL.Clear;
SQL.ADD('SELECT * FROM TABELLE '+
        'WHERE '+ Parameter1 +
        'LIKE :v_PARAMETER2 ');
Das müßte Dein Problem schon beheben.
Niels
Erspare Dir die Gedanken über ungelegte Eier !!!
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: SQL-Anfrage mit 2 Parametern

  Alt 25. Aug 2004, 12:49
Nein kannst du nicht, das wurde hier aber bestimmt schon 5 mio. mal gefragt.
Warum sollte man das auch wollen? Ein Parameter ist eine Variable.
In Delphi würdest du doch auch nicht sowas schreiben:
Delphi-Quellcode:
var
  Param :string;
  Variable1,Variable2,Variable3 :Integer;
begin
  Variable1 := 1;
  Variable2 := 2;
  if X then
    Param := 'Variable1
  else
    Param := 'Variable2';

  Variable3 := Param;
end;
  Mit Zitat antworten Zitat
Luciano

Registriert seit: 17. Dez 2003
Ort: Großostheim
126 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: SQL-Anfrage mit 2 Parametern

  Alt 25. Aug 2004, 12:54
SORRY ich habe mal wieder viel zu schnell getippt als nachgedacht....

Habe schon eine Lösunge gefunden wie sie nieurig beschrieben hatte...

Sorry nochmals...

Greets
Mike Santangelo
Wie kann ich den wissen was ich denke, wenn ich nicht höre was ich sage!
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:02 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