В C# я хочу сохранить одну строку datagridview в базе данных SQL после заполнения всей строки.
Я хочу автоматически сохранить строку datagridview после того, как эта сетка будет полностью заполнена пользователем.
Уже связал этот gridview с моим файлом базы данных sql.
Что я уже пробовал:
Для этого я написал один код в событии datagridview_RowLeave. но ошибка приближается.
вот мой код
private void dataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 5) { con.Open(); SqlCommand insert = new SqlCommand("insert into invtempdb (fullname, quantity, itmbyp, itmprimary, itmtotal) values(@a,@b,@c,@d,@e)", con); insert.Parameters.Add("@a", dataGridView1.CurrentRow.Cells[1]); insert.Parameters.Add("@b", dataGridView1.CurrentRow.Cells[2]); insert.Parameters.Add("@c", dataGridView1.CurrentRow.Cells[3]); insert.Parameters.Add("@d", dataGridView1.CurrentRow.Cells[4]); insert.Parameters.Add("@e", dataGridView1.CurrentRow.Cells[5]); insert.ExecuteNonQuery(); //con.Close(); insert.ExecuteNonQuery(); MessageBox.Show("value saved"); } else { MessageBox.Show("Not Saved"); } }
Karthik_Mahalingam
в чем же ошибка?
vijay_bale
Никакого отображения не существует из системы типов объектов.Окна.Формы.DataGridviewTextboxCell к известному управляемому поставщику собственного типа
Karthik_Mahalingam
вы используете текстовое поле ячейки, вы будете иметь, чтобы бросить его в текстовое поле Тип ячейки
vijay_bale
поэтому я должен преобразовать все ячейки datagridcells во время сохранения. Это правда
Karthik_Mahalingam
в зависимости от типа ячейки, которую вам придется разыграть, если это textboxcell, то разыграйте ее как DataGridViewTextBoxCell, как и то, как вы разместили.
vijay_bale
пришла другая ошибка. Невозможно привести объект типа System.Окна.Формы.DataDridviewTextBoxCell для ввода System.!Конвертируемый. Я думаю, что проблема с моим кастингом.
vijay_bale
@ karthik, как вы сказали в решении, это значение пришло по мере того, как я его хранил.
vijay_bale
Да как вы сказали ниже в решении он показывает значение того что я сохранил в этой ячейке
Karthik_Mahalingam
хорошо тогда вперед
vijay_bale
@ karthik некоторая ошибка отображения может быть изменена с dataGridView1_RowLeave. если да, то в каком случае я написал это.