Предотвращение 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() + "...");

    ...

Это приемлемо? Что такое лучшая практика?

Ответы на вопрос(4)

Ваш ответ на вопрос