Я беру пример. У меня есть поле с именем Deleted in the db. .Когда я нажимаю кнопку «Удалить», фактически не удаляя данные, просто заменяя «N» значением «Y». Проблема в том, что я загрузил исходный код. Это работает, но после небольшого изменения я получаю это исключение. Мне интересно, что я делаю неправильноConfusion on Выражение небулевого типа, указанное в контексте, где ожидается условие.
этот код работает
if (e.CommandName.Equals("Delete"))
{
long holidayNum = Convert.ToInt64(e.CommandArgument);
using (SqlConnection con = new SqlConnection())
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Parameters.Add("@Deleted", SqlDbType.NChar).Value = "Y";
cmd.CommandText = "Update HolidaysDetails set [email protected] where HolidayNum=" + holidayNum;
con.ConnectionString = connectionString;
cmd.Connection = con;
if (con.State == ConnectionState.Closed)
{
con.Open();
}
int result = cmd.ExecuteNonQuery();
con.Close();
dlHoliday.EditItemIndex = -1;
GetData();
}
}
}
Но мой код выдает исключение
if (e.CommandName.Equals("delete"))
{
long holidayNum = Convert.ToInt64(e.CommandArgument);
cmdText = "Update HolidaysDetails set [email protected] where HolidayNum"
+ holidayNum;
using (con = new SqlConnection(cnnStr))
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
using (cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandText = cmdText;
cmd.Parameters.AddWithValue("@deleted", SqlDbType.NChar).Value = "Y";
cmd.ExecuteNonQuery();
con.Close();
dlHoliday.EditItemIndex = -1;
GetData();
}
}
}
спасибо Это сработало – user2751773