Veröffentlicht 29. Mai 200916 j 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.
29. Mai 200916 j 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
29. Mai 200916 j 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 200916 j von Pitri89
29. Mai 200916 j Query1->SQL->Add("WHERE Bezeichnung = '"+EdSuchwort+"'"); also in MySql geht das mit WHERE Bezeichnung LIKE '%"+EdSuchwort+"%'
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.