rezaeti Ответов: 1

Как обновить столбец базы данных, где идентификатор столбца равен dropdownlist1. items


Всем Привет. У меня есть страница в asp.net веб-сайт. В моей базе данных есть таблица с 3 столбцами.
Id (int), title(varchar), state_p(int). значение по умолчанию state_p = 0 .

У меня есть GridView с флажком внутри него

Я хочу, чтобы для каждой строки в сетке просмотра строк, когда флажок CheckBox1 равен true, возвращался идентификатор строк в DropDownList1. Этот код сделал это успешно:

foreach (GridViewRow gvr in GridView1.Rows)
        {
            if (((CheckBox)gvr.FindControl("CheckBox1")).Checked == true)
            {
                string data;
                data = gvr.Cells[0].Text;
                DropDownList1.Items.Add(data);
            }
        }


Проблема в том, что я хочу обновить столбцы state_p в моей базе данных до “1”, где id= '" + DropDownList1.Утварь + "'.
Как я могу это сделать? Пожалуйста, помогите мне.

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

как обновить столбец базы данных, где идентификатор столбца равен DropDownList1.Предметы

Vincent Maverick Durano

Вам нужно будет повторить элементы в выпадающем списке. Внутри цикла вы можете построить свой запрос обновления и сразу же выполнить его в своей базе данных.

Maciej Los

Что вы пробовали? Где ты застрял?

1 Ответов

Рейтинг:
0

Donathan.Hutchings

Если вы используете динамический SQL, построив его в приложении, вы можете сделать что-то вроде этого; однако это будет работать только при установке state_p в 1. Вам также нужно будет ввести код для обратного хода. Что делать, если state_p равен единице, но должен быть равен нулю (не отмечен).

** Используйте это только для того, чтобы увидеть, как код строит данные для предложения where. Для правильного выполнения любого SQL необходимо построить список значений и передать эти значения методу, который выполняет хранимую процедуру или функцию на сервере базы данных. **

StringBuilder sql = new StringBuilder();

sql.Append(" UPDATE  <TABLE>");
sql.Append(" SET state_p = 1 ");
sql.Append(" WHERE id IN ("

foreach (GridViewRow gvr in GridView1.Rows)
        {
            if (((CheckBox)gvr.FindControl("CheckBox1")).Checked == true)
            {
                string data;
                data = gvr.Cells[0].Text;
				sql.Append(data + ",");
                DropDownList1.Items.Add(data);
            }
        }
		
 string exeSql = sql.ToString().Substring(0, sql.Length - 1) + ")";

//Execute the sql statment by using exeSql;


Donathan.Hutchings

Я ценю ваш ответ, и я также согласен, так как это ASP.NET страница. Я просто пытался наглядно показать, что нужно сделать, не обязательно используя код как есть. Казалось, чтобы быть лучшим способом, чтобы получить свою точку в поперечнике.