AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Einbindung einer SQL-Abrage

Ein Thema von Flash68 · begonnen am 6. Sep 2011 · letzter Beitrag vom 7. Sep 2011
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Einbindung einer SQL-Abrage

  Alt 6. Sep 2011, 15:23
Ein Beispiel aus der hohlen Hand:
Delphi-Quellcode:
ADOQuery.SQL.Text := 'SELECT Name, Vorname FROM Personen WHERE Wohnort = :ort';
ADOQuery.Parameters.ParamByName('ort').Value := 'Kleinkleckersdorf';
ADOQuery.Open;
Hier wird ein Parameter mit Namen 'ort' innerhalb der SQL-Abfrage definiert und später durch den entsprechenden Suchbegriff ersetzt. Anschließend werden die Daten abgerufen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#2

AW: Einbindung einer SQL-Abrage

  Alt 6. Sep 2011, 15:34
Bei mir muß aber die Abfrage so sein wie in meiner Frage, das ist eine Volltextabfrage und da brauche ich die Sonderzeichen und die werden in der normalen form wie du sie beim SQL-Server eingibst nicht in Delphi akzeptiert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: Einbindung einer SQL-Abrage

  Alt 6. Sep 2011, 15:35
Welche Sonderzeichen meinst Du jetzt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#4

AW: Einbindung einer SQL-Abrage

  Alt 6. Sep 2011, 15:50
Folgende:

' und ", manchmal auch * oder %
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#5

AW: Einbindung einer SQL-Abrage

  Alt 6. Sep 2011, 15:53
Sollen die im Edit stehen? Dann werden sie durch das Parametrisieren automatisch passend escaped. Was genau hast Du denn ausprobiert, als die Fehlermeldung kam?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#6

AW: Einbindung einer SQL-Abrage

  Alt 7. Sep 2011, 08:09
ne das muß im Code stehen, sollte ungefähr so aussehen:

SQL.Clear;
SQL.ADD('Select * from Sicht where contains(*, ''"''*' EDT_Suchen.Text '*''"'')');

die eigentliche Abfrage sieht ja so aus: Select * from Sicht where contains(*, '"*Suchtext*"')
aber da meckert der Edit bei den hochkommas und oder wenn nicht dann meckert gibt es eine Fehlermeldung bei der Ausführung, Fehler beim Ausdruck Suchtext.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: Einbindung einer SQL-Abrage

  Alt 7. Sep 2011, 08:16
Versuch es mal so:
Delphi-Quellcode:
Query.SQL.Text := 'Select * from Sicht where contains(*, :suchtext)';
Query.Parameters.ParamByName('suchtext').Value := Format('"*%s*"', [EDT_Suchen.Text]);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.689 Beiträge
 
Delphi 2007 Enterprise
 
#8

AW: Einbindung einer SQL-Abrage

  Alt 7. Sep 2011, 08:23
SQL.Clear;
SQL.ADD('Select * from Sicht where contains(*, ''"''*'+EDT_Suchen.Text+'*''"'')');

Plusse zu wenig, Hochkommata zu viel. Parameter sind dennoch die schönere Wahl.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  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 19:46 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-2025 by Thomas Breitkreuz