Този код е просто лош . SQL инжекция; DataTable без причина; StringBuilder без причина. Тук се прави просто, като се използва "dapper" (свободно достъпен в 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() ?? "";
}
Това е:
- безопасен при инжектиране (напълно параметризиран)
- директно (без ненужни слоеве като DataTable)
- оптимизиран