AGB  ·  Datenschutz  ·  Impressum  







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

SQL Problem

Ein Thema von Klaus D. · begonnen am 14. Okt 2005 · letzter Beitrag vom 15. Okt 2005
Antwort Antwort
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#1

SQL Problem

  Alt 14. Okt 2005, 19:57
Datenbank: ADS • Version: 6.2 • Zugriff über: SQL
Hallo
was habe ich vergessen...wieso bekomme ich mit folgenden SQL-Sring kein Ergebnis?
Ich bekomme aber auch keinen Fehler...Danke Klaus
Delphi-Quellcode:
SELECT DA.id_daten
     , DA.titel
     , DA.filmlaenge
     , DA.isbn
     , DA.erstellt
     , DA.geaendert
     , DA.sid_Genre
     , DA.sid_Format
     , FA.id_format
     , FA.format
     , GR.id_genre
     , GR.genre

FROM tbl_daten DA

LEFT OUTER JOIN tbl_format FA
ON (DA.sid_format=FA.id_Format)

LEFT OUTER JOIN tbl_genre GR
ON (DA.sid_genre=GR.id_Genre)

WHERE
      ((UPPER(titel) like :p1) OR
       (UPPER(filmlaenge) like :p1) OR
       (UPPER(isbn) like :p1) OR
       (UPPER(FA.format) like :p1) OR
       (UPPER(GR.Genre) like :p1))
Delphi-Quellcode:
{Edit.OnChange}

 V_Suchstring:=SuchEdit.Text;
 DataMod.SQL.Close;
 DataMod.SQL.Params[0].AsString :=(UPPERCASE('%'+V_Suchstring+'%'));
 DataMod.SQL.Open;
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL Problem

  Alt 14. Okt 2005, 20:31
Ist in V_Suchstring evtl. ein deutsches Sonderzeichen? Auf jeden Fall solltest du AnsiUppercase statt Uppercase verwenden!

Falls es das nicht war solltest du das SQL-Statement mal im SQL-Editor für deine Datenbank direkt testen.
Peter
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#3

Re: SQL Problem

  Alt 14. Okt 2005, 21:07
Gruß
String ist denke ich IO trotzdem Ergebnis = 0.( was ja möglicherweise richtig ist)
Ich denke das Problem sind die verknüpften Tabellen(Format und Genre)
Ich bin mir nicht so sicher das mit den Joins richtig gemacht(verstanden) zu haben.
Bin ich manchmal mit Views besser beraten?
Danke und Tschö...Klaus
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: SQL Problem

  Alt 14. Okt 2005, 21:11
hallo klaus,

müsstest du nicht die Tabellen Format und genre mit in die From Klausel nehmen?

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SQL Problem

  Alt 14. Okt 2005, 21:14
Hallo Klaus,

deine Joins sind in Ordnung. Dein Fehler ist die mehrfache Verwendung des gleichen Parameternamens. Der Parser für die SQL Statements kommt damit nicht zurecht. Amüsiere dich beim lesen dieses threads.

Grüße vom marabu
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#6

Re: SQL Problem

  Alt 15. Okt 2005, 08:51
Guten Morgen
was meinst du mit gleichen Parameternamen (p1..?)
wo ist denn da ein Problem?
MfG..Danke..Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: SQL Problem

  Alt 15. Okt 2005, 09:04
Zitat von Klaus D.:
Guten Morgen
was meinst du mit gleichen Parameternamen (p1..?)
wo ist denn da ein Problem?
MfG..Danke..Klaus
Follow the yellow brick road... Nein, im Ernst - marabu hat Dir doch den Link gegeben, den Du Dir durchlesen solltest. Aber hier nochmal die Zusammenfassung:
Bei mehreren Parametern mit dem selben Namen wird nur der erste gesetzt.
Also entweder Du setzt die Parameter einzeln direkt in einer Schleife order arbeitest mit StringReplace.

marabu's Lösung:
Zitat von marabu:
Delphi-Quellcode:
for i := 0 to Parameters.Count - 1 do
      Parameters.Items[i].Value := s;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#8

Re: SQL Problem

  Alt 15. Okt 2005, 11:46
ich habe jetzt nicht 'p1' als Parametername sondern 'p0' genommen und es funkt.
kann mir das mal jemand verständlich erklären ?
Danke Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: SQL Problem

  Alt 15. Okt 2005, 13:16
Irgendwie sagst Du uns hier nicht alles... Ich habe das jetzt mal mit ADS ausprobiert. Und zwar mit
SQL-Code:
Select * from kunden
where (Upper(Name_1) like :p1) or
      (Upper(Name_2) like :p1) or
      (Upper(Name_3) like :p1) or
      (Upper(Strasse) like :p1)
Was vom Prinzip das gleiche ist. Dann folgender kleiner Code:
Delphi-Quellcode:
procedure TFormAdsTest.ButtonExecSqlClick(Sender: TObject);
var
   V_SuchString : string;
   ParamStrings : string;
   i : integer;
begin
   V_SuchString := 'AB';
   AdsQuery.Close;
   AdsQuery.Params[0].AsString := UPPERCASE('%'+V_Suchstring+'%');
   AdsQuery.Open;
   for i := 0 to AdsQuery.Params.Count-1 do
      ParamStrings := ParamStrings+inttostr(i)+': '+AdsQuery.Params[i].AsString+#13;
   ShowMessage(Format('Gefunden %d', [AdsQuery.Recordcount])+#13+ParamStrings);
end;
Ergibt folgende Ausgabe:
Zitat von Project1:
Gefunden 140
0: %AB%
1: %AB%
2: %AB%
3: %AB%
Das gleiche noch einmal mit P1 auf P0 -> Kein Unterschied. Es werden also immer alle gleichbenannten Parameter gefüllt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#10

Re: SQL Problem

  Alt 15. Okt 2005, 14:58
Du hast recht
Ich trau es mir bald nicht zu posten... habe jetzt aus p0 wieder p1 gemacht und es funktioniert immer noch.
Ich habe keine Ahnung was los ist, über manche Sachen sollte man auch nicht nachdenken
Möglicherweise hat mein Delphi gestern nach 12 Sdt. Arbeit gebockt.
Egal... Danke für eure Hilfe und villeicht hilft dieser Thread ja jemand anderes auch.
MfG...Klaus
  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 13:58 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