Gibt es eine ordnungsgemäße Möglichkeit, eine gültige MySQL-Zeichenfolge zu generieren und Werte über einen MySqlCommand zu übergeben?Generieren von MySQLCommand-Strings
Ich verwende derzeit eine Methode wie diese, und stapeln mehr und mehr Bedingungen auf, wenn ich mehr Spalten suchen muss. Es sieht so eklig aus, dass ich davon ausgehe, dass es einen besseren Weg gibt, dasselbe zu erreichen.
private static string SelectUser(User u)
{
bool and = false;
string cmd = "SELECT * FROM `database`.`users` WHERE ";
if (u.ID != null)
{
cmd += "`UserID` LIKE @0";
and = true;
}
if (u.Username != null)
{
if (and) { cmd += " AND "; }
cmd += "`Username` LIKE @1";
and = true;
}
if (u.Role != null)
{
if (and) { cmd += " AND "; }
cmd += "`Role` LIKE @1";
and = true;
}
if (u.Department != null)
{
if (and) { cmd += " AND "; }
cmd += "`Departments` LIKE @1";
and = true;
}
if (u.Template != null)
{
if (and) { cmd += " AND "; }
cmd += "`Template` LIKE @1";
and = true;
}
return cmd;
}
Ich habe ein paar Methoden gefunden, die fast arbeiten, wie this answer, aber keiner von ihnen erlauben Sie mir, die Werte durch MySqlCommand.Parameters
modular zu übergeben.