Entwickler-Ecke

Datenbanken - datenbank abfrage PROBLEME


patrick dee - Fr 29.08.03 09:11
Titel: datenbank abfrage PROBLEME
hi

habe nun einen code um nach einem wort in meiner paradox adressen datenbank zu suchen :


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.SelButton1Click(Sender: TObject);
begin
 with Query1 do
begin
  SQL.Text := 'SELECT * FROM raddr WHERE ' +
                'upper(Nachname) Like'                        + #39#37
+
UpperCase(edit3.text) + #37#39 + ' OR ' +
                'upper(Vorname) Like'                          + #39#37
+
UpperCase(edit3.text) + #37#39 + ' OR ' +
                'upper(FAOrga) Like'  + #39#37 +
UpperCase(edit3.text) + #37#39 + ' OR ' +
                'upper(Bemerkung) Like'                       + #39#37
+
UpperCase(edit3.text) + #37#39;
  Open;
  Next;
 Form_Gefunden.ShowModal;
 edit3.clear;
  end;
  end;



soweit geht alles, nur wenn ich müller eingebe wird nichts gefunden. obwohl meine datenbank 15 mal den eintrag müller hat. warum geht das nicht. bei allem anderen ( was ich bisher getestet habe ) geht es.

danke

für eure hilfe

patrick :?


Klabautermann - Fr 29.08.03 10:26

Hallo,

keine Frage, was sind die Zeichen #37#39?

Gruß
Klabautermann


CenBells - Fr 29.08.03 10:34

@Klabautermann...
Es scheint momentan in zu sein, die strings, die eine datenbank akzeptiert in #39#37 zu verpacken. Ich frage mich bloß, was die ganzen leute machen, wenn eine db irgendwann sagt, so und jetzt stellen wir den stringidentifier um :shock:

ich habe mir für so einen fall eine funktion gebastelt...


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
function cbStrToSQLStr(AString: String): String;
begin
  if AString = '' then
    result := 'NULL'
  else
    result := '''' +  AString + '''';
end;


jetzt muss man nur an dieser einen stelle die delimeter anpassen und gut ist. Macht den code ausserdem lesbarer für andere menschen.

Gruß
Ken


MKehrer - Mo 01.09.03 14:09

@ Patrick
bist Du dicher, dass Deine DB auch Umlaute kann?

@CenBells
das mit dem #37#39 sehe ich hier zum ersten mal.
bis jetzt habe ich schon mit eingen DB´s gearbeitet, aber dieses Zeug hab ich noch nicht benötigt.
Wozu ist das nötig?

PS:
hast Du schon mal Kuehlschrank.FillUpWithBeer(@Supermarkt) benutzt :wink: