0

我正在创建一个 C# 程序,我可以在其中添加系统中的数据并保存到数据库中。我正在使用 SQL Server 2008 R2。我有一个数据网格视图,其中有 2 个表,名称和地址。我想要做的是输入所需的信息后,我希望在单击保存按钮后将其保存在我的数据库中。

这是我的数据网格视图的屏幕截图:

在此处输入图像描述

我有一个代码可以将文本框中的数据保存到我的数据库中。但是我在上面使用了文本框,我不知道如何使用数据网格视图而不是文本框来执行相同的过程(将数据保存到我的数据库中)。请帮忙。谢谢。

这是我在将数据从文本框保存到数据库时使用的代码。:

string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
try
{
    using (SqlConnection connect = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand();
        command.Connection = connect;
        command.CommandText = "insert into customer(name, address) values(@name, @address)";
        command.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar));
        command.Parameters.Add(new SqlParameter("@address", SqlDbType.VarChar));
        command.Parameters["@name"].Value = name.Text.ToLower();
        command.Parameters["@address"].Value = address.Text.ToLower();
        connect.Open();
    }
}
4

2 回答 2

2

您需要迭代 DataGridView.Rows 集合(我假设 DataGridView 是无界的)。

using (SqlConnection connect = new SqlConnection(connectionString))
    {
      using(SqlCommand command = new SqlCommand())
       {
        command.Connection = connect;
        command.CommandText = "insert into customer(name, address) values(@name, @address)";

        command.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar));
        command.Parameters.Add(new SqlParameter("@address", SqlDbType.VarChar));
        connect.Open();
        foreach (DataGridViewRow row in dataGridView1.Rows)
         {
          if(!row.IsNewRow)
           {
             command.Parameters["@name"].Value = row.Cells[0].Value;
             command.Parameters["@address"].Value = row.Cells[1].Value;
             command.ExecuteNonQuery();
           }
         }
      }
    }
于 2012-06-07T09:30:32.077 回答
0

您的 GridView 是否绑定到数据源?

如果是这样,您可以使用“updatecommand”或“insertcommand”来定义一个 SQL 查询字符串,当 gridview 识别出这些操作中的任何一个时,您都应该小心。

这里有一个在 gridview MSDN 页面上使用“updatecommand”的好例子:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowupdated

此外,查看 insert 方法的 SqlDataSource 以了解哪些事件正在发生,您可以将它们绑定到哪些事件中:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.insert

于 2012-06-07T09:32:27.783 回答