Предотвращение SQL-инъекций в .NET
Я обычно пишу свой SQL как в .NET
sql.Append("SELECT id, code, email FROM mytable WHERE variable = @variable ");
Затем сделайте что-то вроде этого:
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[ConfigurationManager.AppSettings["defaultConnection"]].ConnectionString))
{
using (SqlCommand myCommand = new SqlCommand(sql.ToString(), conn))
{
myCommand.Parameters.AddWithValue("@variable", myVariableName");
...
Но я должен также сделать это addParameter, когда данные, которые я получаю, поступают непосредственно из базы данных, как это?
likesql.Append(string.Format("SELECT group_id, like_text FROM likeTerms ORDER BY group_id ASC "));
DataTable dtLike = SqlHelper.GetDataTable(likesql.ToString());
foreach (DataRow dr in dtLike)
{
buildsql.Append(".... varId = " + dr["group_id"].ToString() + "...");
...
Это приемлемо? Что такое лучшая практика?