ahmed_sa Ответов: 1

Как получить значения из списка и поместить его в состояние where


У меня есть datagridview есть флажки

но моя проблема заключается в том, как обновить значения флажков из datagridview в базе данных .

button1_click event
{   
        string subjId;   
        List<string> lines = new List<string>();   
        for (int i = 0; i < gvSubjectsList.Rows.Count; i++)   
        {   
       bool Ischecked =Convert.ToBoolean(gvSubjectsList.Rows[i].Cells["Select"].Value);    
            if (Ischecked == true)   
            {   
                subjId = gvSubjectsList.Rows[i].Cells["SubjectId"].Value.ToString();   
                lines.Add(subjId);   
            }   
    }
   //update courses set courseStatus = true where subjId found in lines

    }

моя проблема как это сделать

//update courses set courseStatus = true, где subjId находится в строках

Как написать запрос select в c#, чтобы получить какие числа находятся в списке ?

обновить курсы установить courseStatus = true где ??????

что я пишу вместо этого ?????????

спасибо

Что я уже пробовал:

How to get values from list and put it in where condition

1 Ответов

Рейтинг:
0

Wendelius

Вероятно, самый простой способ-делать обновления индивидуально, внутри цикла. Это будет означать, что вы готовите инструкцию SQL и создаете параметры вне цикла, а внутри цикла устанавливаете значения параметров и выполняете инструкцию.

Другой вариант-собрать ключи внутри петли, а когда это будет сделано, использовать IN сравнение в операторе SQL. Другими словами что-то вроде

UPDATE mytable SET column = value WHERE keycolumn IN (@key1, @key2, @key3...)

Чтобы сделать это проще, вы можете создать параметры и установить их значения внутри цикла.

Для конкретного примера первого варианта взгляните на Правильное выполнение операций с базой данных / использование подготовки к повторным операторам[^]