Пожалуйста, не используйте объединенные значения в вашей команде SQL. Вы выставляете свою заявку на SQL Injection Attacks
. Подробнее здесь .
Вместо этого используйте SqlParameters. Это правильный способ сделать и безопаснее, когда вы запускаете команды sql для своей базы данных из вашего приложения.
Если значение int, то его необходимо преобразовать в целое число:
command.Parameters.AddWithValue("@id", int.Parse(Request.Form["id"]));
Вот пример того, как использовать параметры.
string mySql = @"UPDATE users SET email = @email, pname = @pname, accountname = @accountname, pid = @pid, age = @age, passw = @passw where id = @id;";
string connectionString = "Server=localhost\\SQLEXPRESS;Database=[your database];User Id=sa;Password=[your password];";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(mySql, connection);
command.Parameters.AddWithValue("@email", Request.Form["email"]);
command.Parameters.AddWithValue("@pname", Request.Form["pname"]);
command.Parameters.AddWithValue("@accountname", Request.Form["accountname"]);
command.Parameters.AddWithValue("@pid", Request.Form["pid"]);
command.Parameters.AddWithValue("@age", int.Parse(Request.Form["age"]));
command.Parameters.AddWithValue("@passw", Request.Form["passw"]);
command.Parameters.AddWithValue("@id", int.Parse(Request.Form["id"]));
connection.Open();
command.ExecuteNonQuery();
}
Подробнее о SqlCommand здесь .