基本需求如下,通过查询,从一个数据表中查出数据在gridview1中显示出来,包括id,name,content三项目,我希望点保存按钮时,能遍历gridview1把数据导入另一数据表Table中,请高手指点,写出详细的代码,谢谢!请包括遍历gridview1的语句和添加数据的语句!

解决方案 »

  1.   

            string strConnection = ConfigurationManager.ConnectionStrings["decoraconn"].ConnectionString;
            SqlConnection con=new SqlConnection(strConnection );
            con.Open();
            if (GridView1.rows.cout > 0)
            {
                foreach (GridViewRow row in GridView1)
                 {
                     string strId = row.Cells[0].Text.ToString();
                     string strName = row.Cells[1].Text.ToString();
                     string strContent = row.Cells[2].Text.ToString();
                     string strSQL = "insert into Table1(id,name,content) values('"+ strId +"','"+strName +"','"+strContent +"')";
                     SqlCommand com = new SqlCommand(strSQL, con);
                    com.ExecuteNonQuery();
                }
            }
            con.Close();
      

  2.   

    为什么要循环gridview?
    为什么不循环数据源?
      

  3.   

    gridview,还是数据源循环执行的时间不会差太多吧?
      

  4.   

    你直接把绑定gridview的datatable insert到你别一个表中不就行了.
    很容易的.
      

  5.   

    foreach(DataRow dr in dt.Rows)
    {
       //写你的插入别一个表的逻辑
       // sql = "insert into table2 (col1,col2,col3) values('{0}','{1}','{2}')";
       // SqlCommand cmd = new SqlCommand(string.Format(sql,dr[0].ToString(),dr[1].ToString(),dr[2].ToString()),conn);
       // cmd.exe....执行命令
    }方法2:
    可以利用sqldataadapter.update()方法更新datatable到你的另一个表
    foreach(DataRow dr in dt.Rows)
    {
      dr.SetAdded();
    }
    da.Update(dt);//da需要设置InsertCommand属性来写一个isnert语句.
      

  6.   

    感谢各位的指导,因为我的实际需求是从数据表中读出数据,然后我在gridview里设置了模板列,增加两条信息后再把所有信息导入另外一个数据表了。所以学会遍历gridview把数据导入数据表还是必须的,而且弄完这个以后我还需要增加判断,增加的数据是不是和数据库中有的数据重复,如果重复则覆盖之!请高手指点,先教我如何实现把gridview数据导入SQL数据库!
    另外我用了2楼的方法,调试的时候出错,提示说“System.Web.UI.WebControls.GridView”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“System.Web.UI.WebControls.GridView”类型的变量。应该怎么改!
      

  7.   

    感谢各位的指导,因为我的实际需求是从数据表中读出数据,然后我在gridview里设置了模板列,增加两条信息后再把所有信息导入另外一个数据表了。所以学会遍历gridview把数据导入数据表还是必须的,而且弄完这个以后我还需要增加判断,增加的数据是不是和数据库中有的数据重复,如果重复则覆盖之!请高手指点,先教我如何实现把gridview数据导入SQL数据库!
    另外我用了2楼的方法,调试的时候出错,提示说“System.Web.UI.WebControls.GridView”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“System.Web.UI.WebControls.GridView”类型的变量。应该怎么改!
      

  8.   

    用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator方法的类型
    我瞎猜的,呵呵,没实际调过,不知对否?
    见谅。