将数据从datagridview插入数据库

时间:2013-03-13 09:14:03

标签: c# .net sql-server datagridview

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

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

请帮助..

3 个答案:

答案 0 :(得分:0)

以某种方式应该是可能的,但是为什么要将数据从GridView加载到后端而不是加载和使用您最初用来填充和呈现UI控件的相同数据({{1 }})?

在此处查看我的回答:https://stackoverflow.com/a/7939179/559144如果您曾经DataGridView绑定并在DataTable中显示数据,您可以轻松地循环播放,那么您可以使用编辑网格模式,用于捕获用户界面中的最终用户更改,并在程序逻辑/后端处理它们,并将更改保存到数据库中。

答案 1 :(得分:-1)

如果您的应用程序是窗口应用程序并显示数据库中表格的所有字段,则应将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

答案 2 :(得分:-1)

您好我找到了答案....一个更简单的代码,它将数据从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();

}