2011-07-18 2 views
0

У меня есть DataGridView, который я заполняю переменными, однако мне хотелось бы добавить каждую строку в таблицу базы данных sql.Добавление строк из 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()); 
     } 

ответ

3

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

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

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

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

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

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

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

+0

Благодарим за помощь, можете ли вы порекомендовать любую ссылку в Интернете, которая мне поможет. Наряду с этим – user826436

+0

я обновил ответ, чтобы включить некоторые веб-ссылки. –

Смежные вопросы