Добавление строк из таблицы данных в базу данных SQL - PullRequest
0 голосов
/ 19 июля 2011

У меня есть DataGridView, который я заполняю переменными, однако затем я хотел бы добавить каждую строку в таблицу базы данных sql.

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

///////// Add to DataGridView Rows to Table ///////
        foreach( DataGridViewRow row in dgv.Rows){
        SqlCommand Insert = new SqlCommand(@"insert into TestTable(ID, FirstName, LastName) values ("dgv.Cells[1].Value.ToString(), dgv.Cells[2].Value.ToString(),dgv.Cells[3].Value.ToString());
        }

1 Ответ

3 голосов
/ 19 июля 2011

вы на правильном пути, но есть некоторые проблемы с ним.

  1. Вы подвергаетесь атаке SQL-инъекций. Таким образом, вы должны использовать параметризованный запрос вместо

  2. Если вы измените порядок столбцов в вашей сетке, вам потребуется обновить код SQLCommand. Вместо этого вам следует перебрать ваш DataSource, который должен иметь хорошие имена свойств.

  3. Вам необходимо установить соединение, добавить его в Команду, открыть и закрыть его (оператор , использующий , является хорошим способом управления временем жизни соединения)

  4. Создание команды SQL и настройка ее соединения по-прежнему недостаточно, необходимо также выполнить ее с помощью Insert.ExecuteNonQuery

  5. Также вам, вероятно, следует создать свою Команду вне цикла и просто устанавливать параметры на каждой итерации, а не создавать ее каждый раз.

Полезные ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...