如何将gridview的所有行插入数据库中的另一个表 [英] how to insert all the rows of a gridview in to another table in database

查看:61
本文介绍了如何将gridview的所有行插入数据库中的另一个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在开发一个应用程序,其中将一个表中的值检索到Gridview中,并将该GridView的所有行插入到DB的另一张表中,并从下拉列表中选择一些其他值.该特定行已存在于表中,应该对其进行更新,否则应将其插入表中.

我尝试了此代码,但无法正常工作,请给我建议.

 受保护的 无效 btnview0_Click(对象发​​件人,EventArgs e)
    {

        callgrid();

    }
    受保护的 无效 Btnrecv_Click(对象发​​件人,EventArgs e)
    {
        //  callgrid(); 
        int  wid = Convert.ToInt32(ddlwarehouseid.SelectedItem.ToString());
        //  cmd = new SqlCommand(从PROD_INVENTORY I中选择I.QTY,在W仓库中,在REQUESTED_PROD_DETAIL P中在W.WAREHOUSE_ID = I.WAREHOUSE_ID AND P.PROD_GRP_ID = I.PROD_GRP_ID AND P.PRODUCT_ID = I.PRODUCT_ID,cn); 
        //  cn.Open(); 
        //  dr = cmd.ExecuteReader(); 

        //  dr.Read(); 

        // 如果(dr.HasRows == true)

        //  {
          // 尝试
           //  {
                 for ( int  i =  0 ; i <  GridView1.Rows.Count; i ++)
                {
                    cmd =  SqlCommand("  + wid +   AND P.PROD_GRP_ID = " + GridView1.Rows [i] .Cells ["   AND P.PRODUCT_ID =" + GridView1.Rows [i] .Cells [" ,cn);
       cn.Open();
        dr = cmd.ExecuteReader();


        Dr.Read();


        如果(dr.HasRows ==  true )
        {
            尝试 {
                    cn.Close();
                    cmd =  SqlCommand("  + GridView1.Rows [i] .Cells ["  其中WAREHOUSE_ID =" + wid +   AND PROD_GRP_ID =" + GridView1.Rows [i] .Cells [ 1 ].Text + "  AND PRODUCT_ID =" + GridView1.Rows [i] .Cells ["  ",cn);
                    cn.Open();
                    cmd.ExecuteNonQuery();
                    cn.Close();

                }

            捕获(例外)
            {
                Label3.Text = ex.Message.ToString();
            }

        }
        其他
            {
                尝试
                {
                       cn.Close();
                       cmd =  SqlCommand("  + GridView1.Rows [i] .Cells [ 1 ].文本+ " ," + GridView1.Rows [i] .Cells ["  ,'1','1'," + GridView1.Rows [i] .Cells ["  ,'sajid','" + DateTime. Now.ToString()+ "  + DateTime.Now.ToString( )+ "  + ddlwarehouseid.SelectedValue.ToString()+ " ,cn);


                        cn.Open();
                        cmd.ExecuteNonQuery();
                        cn.Close();

                    }

                捕获(例外)
                {
                   Label3.Text = ex.Message.ToString();
                }


}

        }
    }
    公共 无效 Warehouseid()
    {
        da =  SqlDataAdapter(" ,cn);
        DataSet ds =  DataSet();
        da.Fill(ds);
        ddlwarehouseid.DataSource = ds;
        ddlwarehouseid.DataTextField = " ;
        ddlwarehouseid.DataValueField = " ;
        ddlwarehouseid.DataBind();


    }

    公共 无效 callgrid()
    {
        字符串 id = ddlreqid.SelectedItem.ToString();

        da = 新建 SqlDataAdapter("  + id +  '",cn) ;
        da.Fill(ds);

        GridView1.DataSource = ds;
        GridView1.DataBind();

    }

} 




请给我一些建议

解决方案

 受保护的 对象发​​件人,EventArgs e)
    {

        callgrid();
    }
 受保护的 无效 Btnrecv_Click(对象发​​件人,EventArgs e)
  {
       foreach (GridViewRow项目 in  GridView1.Rows中的项目)
        {

// 此处是您的连接字符串
            SqlConnection con = 新建 SqlConnection( @" );
            con.Open();
// 已根据您的表定义进行了修改
            字符串语句= 字符串 .Format(" 插入test1([name],[address],gender)值('{0}','{1}','{2}')" , item.Cells [ 1 ].Text,item.Cells [ 2 ].Text,item.Cells [  3 ].文本);
            SqlCommand cmd =  SqlCommand(statement,con);

            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            con.Close();
            cmd.Dispose();

        }
   } 


hi
I am developing an application where, I am retriving values from one table in to a gridview and all rows of that gridview should be inserted to the other table in DB.with some additional values which I select from the dropdown list.on some condn if that particular row already exists in a table it should just get update otherwise it should get inserted into table.

I tried this code but its not working properly please advice me.

protected void btnview0_Click(object sender, EventArgs e)
    {

        callgrid();

    }
    protected void Btnrecv_Click(object sender, EventArgs e)
    {
        //callgrid();
       int  wid = Convert.ToInt32( ddlwarehouseid.SelectedItem.ToString());
        //cmd = new SqlCommand("SELECT I.QTY FROM PROD_INVENTORY I, WAREHOUSES W, REQUESTED_PROD_DETAIL P WHERE W.WAREHOUSE_ID=I.WAREHOUSE_ID AND P.PROD_GRP_ID=I.PROD_GRP_ID AND P.PRODUCT_ID=I.PRODUCT_ID", cn);
        //cn.Open();
        //dr = cmd.ExecuteReader();

        //dr.Read();

        //if (dr.HasRows == true)

        // {
          //  try
           // {
                for (int i = 0; i < GridView1.Rows.Count; i++)
                {
                    cmd = new SqlCommand("SELECT I.QTY FROM PROD_INVENTORY I, WAREHOUSES W, REQUESTED_PROD_DETAIL P WHERE W.WAREHOUSE_ID=" +wid + " AND P.PROD_GRP_ID=" + GridView1.Rows[i].Cells[1].Text + " AND P.PRODUCT_ID=" + GridView1.Rows[i].Cells[2].Text +"" , cn);
       cn.Open();
        dr = cmd.ExecuteReader();


        dr.Read();


        if (dr.HasRows == true)
        {
            try{
                    cn.Close();
                    cmd = new SqlCommand("update PROD_INVENTORY set QTY=QTY+" + GridView1.Rows[i].Cells[3].Text + " where WAREHOUSE_ID=" + wid+ " AND PROD_GRP_ID=" + GridView1.Rows[i].Cells[1].Text + " AND PRODUCT_ID=" + GridView1.Rows[i].Cells[2].Text + "", cn);
                    cn.Open();
                    cmd.ExecuteNonQuery();
                    cn.Close();

                }

            catch (Exception ex)
            {
                Label3.Text= ex.Message.ToString();
            }

        }
        else
            {
                try
                {
                       cn.Close();
                       cmd = new SqlCommand(" insert into PROD_INVENTORY values (" + GridView1.Rows[i].Cells[1].Text + "," + GridView1.Rows[i].Cells[2].Text + ",'1','1'," + GridView1.Rows[i].Cells[3].Text + ",'sajid','" + DateTime.Now.ToString() + "','sajid','" + DateTime.Now.ToString() + "','Y','" + ddlwarehouseid.SelectedValue.ToString() + "')", cn);


                        cn.Open();
                        cmd.ExecuteNonQuery();
                        cn.Close();

                    }

                catch (Exception ex)
                {
                   Label3.Text= ex.Message.ToString();
                }


}

        }
    }
    public void warehouseid()
    {
        da=new SqlDataAdapter("select WAREHOUSE_ID  from WAREHOUSES",cn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        ddlwarehouseid.DataSource = ds;
        ddlwarehouseid.DataTextField = "WAREHOUSE_ID";
        ddlwarehouseid.DataValueField = "WAREHOUSE_ID";
        ddlwarehouseid.DataBind();


    }

    public void callgrid()
    {
        string id = ddlreqid.SelectedItem.ToString();

        da = new SqlDataAdapter(" select rd.REQUEST_ID,rd.PROD_GRP_ID,rd.PRODUCT_ID,rd.QTY,rd.UNIT_PRICE,rm.SUPPLIER_ID,rm.TOTAL_AMOUNT,rm.EFFECTIVE_END_DATE,rm.EFFECTIVE_START_DATE,rm.DESCRIPTION,rm.STATUS from REQUESTED_PROD_DETAIL rd,REQUESTED_PROD_MST rm where rd.REQUEST_ID= rm.REQUEST_ID and rd.REQUEST_ID='" + id + "'", cn);
        da.Fill(ds);

        GridView1.DataSource = ds;
        GridView1.DataBind();

    }

}




please give me some advice

解决方案

 protected void btnview0_Click(object sender, EventArgs e)
    {

        callgrid();
    }  
 protected void Btnrecv_Click(object sender, EventArgs e)
  { 
      foreach (GridViewRow item in GridView1.Rows)
        {

//here your connection string 
            SqlConnection con = new SqlConnection(@"Here YOUR connection ");
            con.Open();
//Modified according your table Definition 
            string statment = string.Format("insert into  test1 ( [name], [address], gender ) values ('{0}','{1}','{2}' )", item.Cells[1].Text , item.Cells[2].Text, item.Cells[3].Text);
            SqlCommand cmd = new SqlCommand(statment, con);

            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            con.Close();
            cmd.Dispose();

        }
   } 


这篇关于如何将gridview的所有行插入数据库中的另一个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆