Hallo,
für unsere Raumverwaltungssoftware sind wir derzeit Dabei eine Suchfunktion zu implementieren, dazu nutzen wir "Mysql + Like".
Beispiel:
Bisher funktionierte die suche immer einwandfrei, außer wenn ein Feld in der Datenbank NULL ist. Anschzeinend werden NULL felder von % nicht mitgesucht.
Gibt es eine bessere möglichkeit oder eine Möglichkeit das Problem zu lösen?
Danke !
für unsere Raumverwaltungssoftware sind wir derzeit Dabei eine Suchfunktion zu implementieren, dazu nutzen wir "Mysql + Like".
Beispiel:
Java:
// Formatiere den Suchbegriff für Mysql
if(Sdebnr.length() != 0)
{
Qdebnr = Sdebnr;
}
else
{
Qdebnr = "%";
}
if(Snname.length() != 0)
{
Qnname = Snname;
}
else
{
Qnname = "%";
}
if(Svname.length() != 0)
{
Qvname = Svname;
}
else
{
Qvname = "%";
}
if(Sstrasse.length() != 0)
{
Qstrasse = Sstrasse;
}
else
{
Qstrasse = "%";
}
if(Sweb.length() != 0)
{
Qweb = Sweb;
}
else
{
Qweb = "%";
}
if(Stel.length() != 0)
{
Qtel = Stel;
}
else
{
Qtel = "%";
}
if(Sfax.length() != 0)
{
Qfax = Sfax;
}
else
{
Qfax = "%";
}
if(Semail.length() != 0)
{
Qemail = Semail;
}
else
{
Qemail = "%";
}
if(Sortnr.length() != 0)
{
Qortnr = Sortnr;
}
else
{
Qortnr = "%";
}
if(Stnr.length() != 0)
{
Qtnr = Stnr;
}
else
{
Qtnr = "%";
}
if(Sanredenr.length() != 0)
{
Qanredenr = Sanredenr;
}
else
{
Qanredenr = "%";
}
if(Sinaktiv.length() != 0)
{
Qinaktiv = Sinaktiv;
}
else
{
Qinaktiv = "%";
}
if(Sbemerkung.length() != 0)
{
Qbemerkung = Sbemerkung;
}
else
{
Qbemerkung = "%";
}
query = String.format("SELECT kdnr FROM kunde WHERE debnr LIKE '%s' "
+ "AND nname LIKE '%s' AND vname LIKE '%s' AND strasse LIKE '%s' AND web LIKE '%s' AND tel LIKE '%s' AND email LIKE '%s' AND fk_ortnr LIKE '%s' AND fk_tnr LIKE '%s' AND fk_anredenr LIKE '%s' AND inaktiv LIKE '%s' AND bemerkung LIKE '%s'", Qdebnr, Qnname, Qvname, Qstrasse, Qweb, Qtel, Qfax, Qemail, Qortnr, Qtnr, Qanredenr, Qinaktiv, Qbemerkung);
result = mysql.returnQuery(query);
Bisher funktionierte die suche immer einwandfrei, außer wenn ein Feld in der Datenbank NULL ist. Anschzeinend werden NULL felder von % nicht mitgesucht.
Gibt es eine bessere möglichkeit oder eine Möglichkeit das Problem zu lösen?
Danke !