一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语句来进行注入攻击。
StringBuilder sb = new StringBuilder();
sb.Append("update T_Type set T_Type_Name=@T_Type_Name where T_Type_ID=@T_Type_ID");
List<SqlParameter> list = new List<SqlParameter>();
list.Add(new SqlParameter("@T_Type_Name", tt.T_Type_Name));
list.Add(new SqlParameter("@T_Type_ID", tt.T_Type_ID));
SqlCommand cmd = new SqlCommand(sb.ToString(), GetDateReader());
cmd.Parameters.AddRange(list.ToArray());
int i = cmd.ExecuteNonQuery();
return i;