Esse código é apenas ruim . Injeção SQL; DataTable sem motivo; StringBuilder sem motivo. Aqui é feito de forma simples, usando "dapper" (disponível gratuitamente no 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() ?? "";
}
Isto é:
- injeção segura (totalmente parametrizada)
- direto (sem camadas desnecessárias como DataTable)
- otimizado