Pitri89 Geschrieben 29. Mai 2009 Geschrieben 29. Mai 2009 Ich habe ein Programm geschrieben, mit dem ich eine DVD-Datenbank verwalten kann. Darin habe ich eine Abfrage, bei der ich den Namen der DVD eingebe (z.B. Star Wars). Nun habe ich in der Datenbank z.B. die Datensätze ,,Star Wars Episode 3'', ,,Star Wars Episode 2'' usw. und möchte diese angezeigt bekommen, wenn ich nur ,,Star Wars'' als Suchwort eingebe. Kann mir jemand sagen, wie ich das hin bekomme? Ich bedanke mich schon im Voraus für eure Antworten. Zitieren
flashpixx Geschrieben 29. Mai 2009 Geschrieben 29. Mai 2009 Da Du nicht sagst welches DBMS Du einsetzt kann man nicht wirklich einen sinnvollen Rat geben. Es gibt bei vielen DBMS innerhalb der Where-Condition die Möglichkeit z.B. mit dem Schlüsselwort "like" und Wildcards entsprechende Stringausdrücke zu erzeugen, andernfalls wäre noch Reguläre Ausdrücke für die Stringsuche eine Möglichkeit Phil P.S.: SQL ist ein Standard, die konkrete Implementierung ist dann DBMS abhängig Zitieren
Pitri89 Geschrieben 29. Mai 2009 Autor Geschrieben 29. Mai 2009 (bearbeitet) Ich benutze Microsoft Access 2007 Bearbeitet 29. Mai 2009 von Pitri89 Zitieren
Pitri89 Geschrieben 29. Mai 2009 Autor Geschrieben 29. Mai 2009 (bearbeitet) vielleicht hilft das noch: Ich habe das Programm in C++ mit Borland geschrieben und hier ist der Programmcode, der die besagte SQL Abfrage ausführen soll: AnsiString EdSuchwort = Edit1->Text; Query1->SQL->Clear(); Query1->SQL->Add("SELECT Film_ID, Bezeichnung, Genre, FSK, Dauer"); Query1->SQL->Add("FROM Filme"); Query1->SQL->Add("WHERE Bezeichnung = '"+EdSuchwort+"'"); Query1->ExecSQL(); und so zeigt es mir nur Datensätze an, die den eingegebenen Namen genauso wie im Suchwort haben. Ich möchte aber, alle angezeigt bekommen (wenn ich wie oben z.B. ,,Star Wars'' eingeben), die dieses Suchwort beinhalten (z.B. ,,Star Wars Episode 2'') Bearbeitet 29. Mai 2009 von Pitri89 Zitieren
T3D Geschrieben 29. Mai 2009 Geschrieben 29. Mai 2009 Query1->SQL->Add("WHERE Bezeichnung = '"+EdSuchwort+"'"); also in MySql geht das mit WHERE Bezeichnung LIKE '%"+EdSuchwort+"%' Zitieren
Pitri89 Geschrieben 29. Mai 2009 Autor Geschrieben 29. Mai 2009 Super, es funktioniert. Vielen vielen Dank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.