如何循环浏览asp.net网格视图的多行并插入数据库

本文关键字:视图 数据库 插入 网格 net 何循环 循环 asp 浏览 | 更新日期: 2023-09-27 18:26:58

我正在尝试循环浏览所有ASP.Net网格视图行,并将它们插入数据库中。我为这些操作编写的代码如下。但问题是将空数据保存到数据库中。

for (int i = 0; i < GridView1.Rows.Count; i++)
{
     f_name = ((TextBox)GridView1.Rows[i].FindControl("TextBox1"));
     l_name = ((TextBox)GridView1.Rows[i].FindControl("TextBox2"));
     contacts = ((TextBox)GridView1.Rows[i].FindControl("TextBox3"));
     string query = string.Format("insert into [StudentsData].[dbo].[Student_Info] values('{0}','{1}','{2}')",f_name.Text,l_name.Text,contacts.Text);
     command.CommandText = query;
     try
     {
          conn.Open();
          command.ExecuteNonQuery();
     }
     finally
     {
          conn.Close();
     }
}

如何循环浏览asp.net网格视图的多行并插入数据库

这样做循环(就像其他人所说的那样,使用带参数的存储过程):

foreach (GridViewRow row in GridView1.Rows)
{
   f_name = ((TextBox)row.FindControl("TextBox1")).Text;
   //etc. 
   using (SqlConnection conn = new SqlConnection(yourConnectionString))
        {
            using (SqlCommand cmd = new SqlCommand("yourStoredProcedure", conn))
            {
               cmd.CommandType = System.Data.CommandType.StoredProcedure;
               cmd.Parameters.AddWithValue("@f_name", f_name);
               //etc.
               conn.Open();
               cmd.ExecuteNonQuery();
               conn.Close();
            }
        }
}