1
DataGridview에서 데이터베이스로 데이터를 삽입하고 싶지만 발생하지 않았습니다. xls 및 두 번째 버튼의 첫 번째 버튼 가져 오기 데이터는 모든 데이터를 하나의 레코드로 삽입해야합니다. 어떻게 고칠 수 있니? 열 값이 그래서 당신은 다음과 같은 문자열 값을 통과해야 문자열 때문에값을 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가 DataAdapter를 사용하는 DataTable과 같은 데이터 소스에 바인딩 된 경우 DGV에서 데이터를 가져올 필요가 없습니다. OleDBConnection은 이상하게 보입니다. http://stackoverflow.com/q/22926961/1070452 – Plutonix
개인적으로 DataTable에 DataGridView의 데이터 소스를 저장 한 다음 대상 테이블과 자격 증명을 지정하여 데이터베이스에 BulkInsert를 사용합니다. 사용자 지정 SQL 쿼리를 작성하고 DataGridView의 모든 열 결과를 수동으로 가져 오는 것보다 훨씬 쉽습니다. –