C# код:'System.InvalidCastException' в SqlCommand
string d;
d = "did" + mission.Text;
int p = 0;
var command = string.Format("SELECT {0} FROM [User] WHERE Username = @name", d);
using (SqlCommand cBd = new SqlCommand(command, c))
{
cBd.Parameters.AddWithValue("@name", txtuser.Text);
c.Open();
p = (int)cBd.ExecuteScalar();
c.Close();
}
p++;
SqlCommand cmd = new SqlCommand("UPDATE [User] SET @mission = @par WHERE Username = @name",c);
cmd.Parameters.AddWithValue("@mission", d);
cmd.Parameters.AddWithValue("@par",p);
cmd.Parameters.AddWithValue("@name", txtuser.Text);
c.Open();
cmd.ExecuteNonQuery();
c.Close();
Ошибка:
An exception of type 'System.InvalidCastException' occurred in App_Web_sazkdh0g.dll but was not handled in user code
Additional information: Specified cast is not valid.
Вы должны укажите столбец, который вы t для извлечения вместо '@ g'. Имена столбцов не уязвимы для SQL Injection. –
Какая строка бросает исключение? Похоже, вы пытаетесь отправить параметр, который не соответствует типу, который ожидает команда. – maniak1982
p = (int) cBd.ExecuteScalar(); –