2012-02-18 57 views
2

我创建了绑定到数据表的datagridview。如何用1按钮将我的数据表中的所有内容添加到数据库?例如:我已经在我的数据表中插入了5个值。我将如何一次插入所有5个数据表?在数据库中插入datagridview的值

+1

我还没有尝试过任何东西,先生。因为我只知道如何逐个添加数据。 – 2012-02-18 22:02:11

+1

什么是“我将如何一次插入所有5个数据表”是什么意思?你在一张DataTable中有5个DataTables或5条记录吗?顺便说一句,如果你知道如何插入一条记录,你也知道如何逐一插入一个DataTable的所有行。您应该使用DataAdapter来更新整个DataTable:http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update%28v=vs.100%29.aspx – 2012-02-18 22:05:38

+0

@Tim Schmelter 5或Multple记录在数据表中。主席先生,我只知道插入命令。单击一下按钮就可以有多个插入命令吗?我不知道如何访问数据表的每一行数据。 – 2012-02-18 22:08:34

回答

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); 
     } 
    } 
} 

ConnectionString中,你可以从你的DB的性能得到它,也投入了命令““”当你要插入值不是数量。 ..

+0

我假设这个代码可以工作,而不管DGV是否绑定到数据库表?如果我想在插入项目之前截断表格,那么我可以使用不同的字符串''TRUNCATE TABLE ....''来执行'ExecuteNonQuery'? – whytheq 2012-06-02 10:16:50