【问题标题】:inserting the values of a datagridview on the database在数据库中插入 datagridview 的值
【发布时间】:2012-02-18 21:47:38
【问题描述】:

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

【问题讨论】:

  • 先生,我还没有尝试过任何东西。因为我只知道一一添加数据。
  • “如何一次插入所有 5 个数据表”是什么意思?一个数据表中有 5 个数据表或 5 个记录吗?顺便说一句,如果您知道如何插入一条记录,那么您也知道如何将 DataTable 的所有行一一插入。您应该使用 DataAdapter 来更新整个 DataTable:msdn.microsoft.com/en-us/library/…
  • @Tim Schmelter 5 或数据表中的多个记录。先生,我只知道插入命令。我可以通过单击一个按钮来执行多个插入命令吗?而且我不知道如何访问数据表每一行的数据。
  • 我只是希望我存储在数据表中的临时数据只需单击一下按钮就可以传输到我的数据库中

标签: c# database winforms datagridview datatable


【解决方案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 你可以从你的数据库的属性中得到它,当你想插入不是数字的值时,也可以在命令中加上“'”......

【讨论】:

  • 我认为无论 DGV 是否绑定到数据库表,这段代码都可以工作?如果我想在插入项目之前截断表格,我可以使用不同的字符串 ExecuteNonQuery "TRUNCATE TABLE ...." ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
相关资源
最近更新 更多