Den kode er bare dårlig . SQL-injektion; DataTabel uden grund; StringBuilder uden grund. Her gøres det enkelt ved at bruge "dapper" (frit tilgængeligt 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() ?? "";
}
Dette er:
- injektionssikker (fuldstændig parametriseret)
- direkte (ingen unødvendige lag som DataTable)
- optimeret