1
Я хотел бы вставить данные из datagridview в базу данных, но этого не произошло. Первая кнопка импортирует данные из xls, а вторая кнопка должна вставить все данные в db не только одной записи. Как я могу это исправить?Вставить значение из datagridview в sql
private void button8_Click(object sender, EventArgs e)
{
string stringconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox2.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
OleDbConnection cons = new OleDbConnection(stringconn);
OleDbDataAdapter dat = new OleDbDataAdapter("Select * from [Sheet1$]", cons);
dat.Fill(dt);
dataGridView1.DataSource = dt;
}
private void button9_Click(object sender, EventArgs e)
{
try
{
load();
conn.Open();
string col1 = dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value.ToString();
string col2 = dataGridView1[1, dataGridView1.CurrentCell.RowIndex].Value.ToString();
string col3 = dataGridView1[2, dataGridView1.CurrentCell.RowIndex].Value.ToString();
string insert_sql = "INSERT INTO humans VALUES('" + col1 + "','" + col2 + "','" + col3 + "')";
da = new NpgsqlDataAdapter(insert_sql, conn);
da.SelectCommand.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
параметры использования SQL. Если DGV привязан к источнику данных (например, DataTable с использованием DataAdapter), вам не нужно ловить данные из DGV, как это. OleDBConnection кажется странным http://stackoverflow.com/q/22926961/1070452 – Plutonix
Лично я хотел бы хранить источник данных DataGridView в DataTable, а затем использовать BulkInsert в вашей базе данных, указав таблицу назначения и учетные данные, конечно. Это намного проще, чем писать собственные SQL-запросы и вручную получать результаты всех столбцов вашего DataGridView. –