Мне нужно прочитать все записи в таблице и для каждой записи, если выполняется определенное условие, установить флаг для этой записи со значением true или false. Что происходит, так это то, что мой метод вставляет true для каждой записи.
Как сделать так, чтобы мой метод вставлялся в true или false в зависимости от условия?
Например, если у меня есть значение 11 в столбце Code
, тогда вставьте true в столбец Flag
для этой записи, но если столбец Code
имеет значение 7, вместо этого вставьте false .
Запрос:
string select = "SELECT * FROM Movies";
Способ чтения записей:
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
if (string.IsNullOrEmpty(sdr["Code"].ToString()))
{
C_E = "0";
this.Update(C_E);
//ViewBag.Message = "cero";
}
else
{
C_E = sdr["Code"].ToString();
this.Update(C_E);
// ViewBag.Message = C_E;
}
}
}
Способ обновления таблицы:
private string Update(string C_E)
{
ReglaController re = new ReglaController();
string query = "UPDATE Movies SET Flag = @code";
string constr = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
SqlCommand command = new SqlCommand(query, con);
//command.Parameters.Add("@code", SqlDbType.NChar).Value = ("o");
command.Parameters.Add("@code", SqlDbType.NChar).Value = re.Condition(C_E);
con.Open();
command.ExecuteNonQuery();
}
return C_E;
}
Метод проверки состояния:
public string Regla_4(string C_E)
{
string query = "SELECT Emp.Code FROM Empresas WHERE Emp.Code = @codigo";
string R2 = "l";
string constr = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
SqlCommand command = new SqlCommand(query, con);
command.Parameters.Add("@codigo", SqlDbType.Int).Value = C_E;
con.Open();
command.ExecuteNonQuery();
using (SqlDataReader sdr = command.ExecuteReader())
{
if (sdr.HasRows)
{
R2 = "True";
}
else
{
R2 = "False";
}
}
}
}