2

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

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

请帮忙..

4

3 回答 3

0

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

在此处查看我的答案:https ://stackoverflow.com/a/7939179/559144当您有一个DataTable用于绑定和显示数据的方法时,DataGridView您可以轻松地像这样循环,然后您可以使用网格的编辑模式来捕获用户界面中的最终用户更改并在程序逻辑/后端处理它们并将更改保存到数据库。

于 2013-03-13T09:18:24.007 回答
-1

如果您的应用程序是窗口应用程序并显示数据库中表中的所有字段,则应将 Datagridview 与SqlDataAdapter.For example-一起使用

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

另请参见此处

于 2013-03-13T09:45:13.107 回答
-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();

}

于 2013-03-13T12:28:15.833 回答