Dieser Code ist einfach schlecht . SQL-Injektion; DataTable ohne Grund; StringBuilder ohne Grund. Hier geschieht dies einfach mit "dapper" (frei verfügbar auf NuGet):
using(var conn = GetSomeConnection()) { // <== todo
return conn.Query<string>(
"select title from MyTable where [email protected] and [email protected]",
new { id = myId, var = myVar }).FirstOrDefault() ?? "";
}
Dies ist:
- injektionssicher (vollständig parametriert)
- direkt (keine unnötigen Ebenen wie DataTable)
- optimiert