2012-02-18 2 views
2

데이터 테이블에 바인드 된 DataGridview를 작성했습니다. 1 buttonclick으로 데이터베이스에 내 모든 데이터 베 이스의 내용을 어떻게 추가합니까? 예 : 나는 데이터 테이블에 5 개의 값을 삽입했습니다. 한 번에 5 개의 datatable을 모두 어떻게 삽입합니까?데이터베이스에 datagridview 값을 삽입하십시오.

+1

아직 아무 것도 시도하지 않았습니다. 데이터를 하나씩 추가하는 방법 만 알고 있기 때문입니다. –

+1

"5 개의 데이터 테이블을 모두 한꺼번에 어떻게 삽입합니까"는 의미는 무엇입니까? 하나의 DataTable에 5 개의 DataTable 또는 5 개의 레코드가 있습니까? Btw, 레코드 하나를 삽입하는 방법을 알고 있다면 DataTable의 모든 행을 하나씩 삽입하는 방법도 알고 있습니다. DataAdapter를 사용하여 전체 DataTable을 업데이트해야합니다. http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update%28v=vs.100%29.aspx –

+0

@Tim Schmelter 5 또는 데이터 테이블의 다중 레코드. 선생님, 저는 삽입 명령에 대해서만 알고 있습니다. 버튼 한번 클릭으로 여러 개의 삽입 명령을 사용할 수 있습니까? 그리고 데이터 테이블의 각 행에있는 데이터에 액세스하는 방법을 모르겠습니다. –

답변

1

당신이 이런 식으로 뭔가를 할 수 있습니다

string ConnString= "Data Source=.\SQLEXPRESS;Initial Catalog=test;Integrated Security=True;Pooling=False"; 

private void button1_Click(object sender, EventArgs e) 
{ 
    for(int i=0; i< dataGridView1.Rows.Count;i++) 
    { 
     string StrQuery= @"INSERT INTO tableName VALUES (" + dataGridView1.Rows[i].Cells["ColumnName"].Value +", " + dataGridView1.Rows[i].Cells["ColumnName"].Value +");"; 

     try 
     { 
     using (SqlConnection conn = new SqlConnection(ConnString)) 
     { 
      using (SqlCommand comm = new SqlCommand(StrQuery, conn)) 
      { 
       conn.Open(); 
       comm.ExecuteNonQuery(); 
      } 
     } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 
} 

당신은 당신이 숫자가 아닌 값을 삽입 할 때 " '"명령에 넣어 또한, 당신의 재산 DB에서 그것을 얻을 수 ConnectionString을. ..

+0

DGV가 데이터베이스 테이블에 바인딩되어 있는지 여부에 관계없이이 코드가 작동한다고 가정합니다. 항목을 삽입하기 전에 테이블을 자르려면 다른 문자열'TRUNCATE TABLE .... ....'을 사용하여'ExecuteNonQuery'를 사용할 수 있습니까? – whytheq

관련 문제