Autor Beitrag
patrick dee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 11:43 
Hi

ich frage in meiner Video Datenbank so ab :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Query1.SQL.Clear;
  Query1.SQL.Add('Select * from clipdat where clipthema Like ' + #39#37 + edit1.text + #37#39'ORDER by timein ASC' );
   Query1.open;
    Query1.next;
    Form2.Show; // dbgrid2 zeigt das Ergebniss an
end;


Nun Frage :

wie muß ich die Abfrage ändern, das egal ob groß oder klein geschrieben wurde etwas gefunden wird. Also es soll Berlin gefunden werden. Egal ob es so Berlin, BERLIN oder berlin geschrieben wurde ???

Danke

schönes WE noch

patrick

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
Moderiert von user profile iconTino: Titel geändert.

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 12:32 
Titel: Re: sql abfrage problem - hat jemand einen Hilfe !
Am einfachsten stells du in deinem Edit1 ein, dass nur Großbuchstaben eingegeben werden. Habe die Eingenschaft im Moment nicht im Kopf, kannst du aber im OI einstellen.
Wenn im Datenbankfeld die Daten schon in Großbuchstaben stehen, brauchst du dann nichts weiter machen. Falls nicht, benötigst du für das Feld noch Upper:
ausblenden SQL-Anweisung
1:
'Select * from clipdat where upper(clipthema) Like...					
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 13:00 
Titel: das ist es nicht ganz
Hi jasocol,

Danke für die Antwort. Um alles in einer Edit in groß zu wandeln ist die eigenschaft UpperCase. Das ist mir bekannt. Nun soll aber die Eingabe NORMAL sein. Und wenn mit SQL abgefragt wird, dann soll alles gefunden werden egal ob groß oder klein es in der Datenbank steht. Wie geschrieben : Wenn ich in Edit Berlin eingebe soll alles gefunden werden wie auch wenn ich berlin oder BERLIN eingebe.

Das suche ich

Danke

Patrick

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 13:02 
Dann musst du auf dein Edit1.Text ebenfalls das Upper anwenden.
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 13:06 
Titel: schon versucht - aber
Hi

das habe ich versucht. Es wird aber alles nur gefunden was Großgeschrieben ist. Also steht in der Datenbank BERLIN so muß ich es auch so in die Edit schreiben wenn die eigenschaft der Edit upper ist. Aber es werden keine einträge gefunden dabei die so in der Datenbank stehen : Berlin, berlin

Ich brauche eine Abfrage die alles findet, egal ob der Begriff groß, klein oder der erste Bucstabe groß ist und alle anderen klein.

lg

Patrick

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 13:14 
Hier mal ungetestet, wie ich es machen würde:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Query1.SQL.Clear;
  Query1.SQL.Add('Select * from clipdat where upper(clipthema) Like upper' + #39#37 + edit1.text + #37#39') ORDER by timein ASC' );
   Query1.open;
    Query1.next;
    Form2.Show; // dbgrid2 zeigt das Ergebniss an
end;
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 13:20 
Titel: schlüsselwort falsch
Hi

habe es probiert. Delphi meldet unbekanntes Schlüsselwort %berlin%)
so sieht die Felhlermeldung aus.

Mhh ....

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 13:27 
Da du Text in der Datenbank abfragst, brauchst du Anführungszeichen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  SuchString : String;
begin
  SuchString := QuotedStr(#39#37 + edit1.text + #37#39);
  Query1.SQL.Clear;
  Query1.SQL.Add('Select * from clipdat where upper(clipthema) Like upper(' + SuchString + ') ORDER by timein ASC' );
  Query1.open;
  Query1.next;
  Form2.Show; // dbgrid2 zeigt das Ergebniss an
end;

Ich hab den Source mal etwas geändert, damit es übersichtlicher wird.
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 13:33 
Titel: da fehl delphi noch was
Supi das Du mir hilfst,

habe das so wie du geschrieben hast gemacht, Delphi meldet mir :

FELD IM ORDER BY MUSS IM RESULTAT VORHANDEN SEIN.

So eine Meldung habe ich noch nie gesehen.

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 13:36 
Der Fehler besagt, dass das Feld "timein" in der Tabelle "clipdat" nicht existiert.
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 13:39 
Titel: ist vorhandne
---

ist vorhanden. kann es in der dbgrid mit allen einträgen sehen.habe eben nochmals alles geprüft. Ist vorhaneden.

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 13:42 
Lass mal das ASC weg. Das ist sowieso standard.
Eine andere Erklärung für den Fehler kenne ich auch nicht.
Welche DB verwendest du denn?
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: So 18.09.05 13:50 
Titel: --
habe das ASC weggelassen underhalte wieder diese Meldung :

FELD IM ORDER BY MUSS IM RESULTAT VORHANDEN SEIN.

alle Felder sind vorhanden. Also es ist eine Paradox Tabelle mit einer einer DBGRID und einer TTable, DataSource und Querry. Auf Form2 iste eine DataSource und eine DBGrid für das Ergebnis aus der SQL Abfrage.

_________________
Glauben heißt nichts wissen ...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 18.09.05 13:58 
Ich stelle mal ein paar Vermutungen an, die dann mal rpüfen musst (bin nämlich gleich Offline).
Verwendest du persistente Felder(passiert, wenn du den Feldeditor verwendest)? Dann probier es mal ohne.
Funktioniert die Abfrage denn ohne Delphi? Zum Beispiel im SQL-Explorer, der beeeeedlphi dabei ist.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 18.09.05 13:58 
Das Feld Timein ist *nicht* in der Ergebnismenge enthalten. Vielleicht wird es anders geschrieben. Aber es ist so, wie im ORDER BY angegeben, einfach *nicht* da.