2013-03-13 192 views
3

我希望从我的datagridview插入到sql server数据库的值。我不确定这是否有效,但我不想使用文本框。从datagridview插入数据到数据库

我的逻辑是使用两个for循环遍历datagridview的每个单元格(比如i和j),但我不确定这是否工作。

请帮助..

+0

这是ASP.NET,WPF,Windows窗体或还有什么? – 2013-03-13 09:18:44

+0

@DavidePiras:C#.NET – user 2013-03-13 09:21:07

+0

检查以下链接 http://stackoverflow.com/questions/10556556/insert-all-data-of-a-datagridview-to-database-at-once 这可能会帮助你。 – SKJ 2013-03-13 09:34:37

回答

0
以某种方式

或另一个,应该是可能的,但你为什么要在GridView的数据加载到后端,而不是装载和消耗你最初用来填充相同的数据并呈现UI控件(DataGridView)?

在这里看到我的回答:https://stackoverflow.com/a/7939179/559144当你有一个DataTable您使用绑定和显示数据的DataGridView您可以轻松地循环这样,你就可以使用网格的编辑模式,以捕捉到最终用户的变化用户界面并在程序逻辑/后端处理它们并将更改保存到数据库中。

0

如果您的应用程序窗口的应用程序,并显示在数据库中的表的所有字段,你应该使用的DataGridView与SqlDataAdapter。对于例 -

private BindingSource bindingSource = null; 
private SqlDataAdapter sqlDataAdapter = null; 
DataTable dataTable=null; 

private void Form_Load(object sender, EventArgs e) 
{ 
    dataTable = new DataTable(); 
    sqlDataAdapter.Fill(dataTable);//Fill Data To bind Datagridview 
    bindingSource = new BindingSource(); 
    bindingSource.DataSource = dataTable; 
    dataGridViewTrial.DataSource = bindingSource; 
} 

private void btnSave_Click(object sender, EventArgs e) 
{ 
    try 
     { 
      sqlDataAdapter.Update(dataTable); 
     } 
     catch (Exception exceptionObj) 
      { 
      MessageBox.Show(exceptionObj.Message.ToString()); 
      } 
} 

Here见。

+0

嗨,我找到了一个答案....一个简单的代码,它将数据从datagridview插入到SQL数据库。 – user 2013-03-13 12:26:22

0

嗨我找到了一个答案....这是一个简单的代码,它将数据从datagridview插入到SQL数据库中。请注意,您的列名在此处已预定义。

private void button1_Click(object sender, EventArgs e) 
    { 
     string str = System.Environment.MachineName; 
     SqlConnection sconn = new SqlConnection("Data Source='" + str + "';Initial Catalog=main;Integrated Security=True"); 
     sconn.Open(); 
     DataSet ds = new DataSet(); 
     for(int i=0; i< dataGridView1.Rows.Count;i++) 
      { 
       SqlDataAdapter da = new SqlDataAdapter("insert into demo values('" + dataGridView1.Rows[i].Cells[0].Value + "','" + dataGridView1.Rows[i].Cells[1].Value + "','" + dataGridView1.Rows[i].Cells[2].Value + "')",sconn); 
        da.Fill(ds, "main"); 




     conn.Close(); 

}