Ce code est juste mauvais . injection SQL ; DataTable sans raison ; StringBuilder sans raison. Ici c'est fait simplement, en utilisant "dapper" (disponible gratuitement sur 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() ?? "";
}
C'est :
- sécurité d'injection (entièrement paramétrée)
- direct (pas de couches inutiles comme DataTable)
- optimisé