Den koden är bara dålig . SQL-injektion; DataTable utan anledning; StringBuilder utan anledning. Här görs det enkelt med hjälp av "dapper" (fritt tillgängligt på 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() ?? "";
}
Det här är:
- injektionssäker (fullständigt parametriserad)
- direkt (inga onödiga lager som DataTable)
- optimerad