如何将所有行数据从gridview插入到表 [英] how to insert all rows data from a gridview to a table

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

问题描述

我想开发一个应用程序,在其中可以将gridview数据插入到表中.

请给我一些建议.

I want to develope an app where i can insert the gridview data in to a table .

please give me some suggestions please.

推荐答案

hi ,





protected void Page_Load(object sender, EventArgs e)
   {
       if (!IsPostBack)
       {
           SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=test;Integrated Security=True");
           con.Open();
           SqlCommand cmd = new SqlCommand("select * from TestTb", con);
           cmd.CommandType = CommandType.Text;
           SqlDataAdapter adpt = new SqlDataAdapter(cmd);
           DataTable dt = new DataTable();
           adpt.Fill(dt);
           GridView1.DataSource = dt;
           GridView1.DataBind();
       }
   }





private void button1_Click(object sender, EventArgs e)
       {
           foreach (DataGridViewRow item in dataGridView1.Rows)
           {


               SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=test;Integrated Security=True");
               con.Open();
               string statment = string.Format("insert into  test1 ( [name], [address], gender ) values ('{0}','{1}','{2}' )", item.Cells[1].Value.ToString(), item.Cells[2].Value.ToString(), item.Cells[3].Value.ToString());
               SqlCommand cmd = new SqlCommand(statment, con);

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

           }
       }


很抱歉,如果这不适合您,请给我表格的脚本,我这次尝试模拟您的表格,希望对您有帮助:)

sry for being late and if this didn''t work with u give me script of the table i tried this time to simulate your table hopes it help u :)

protected void Page_Load(object sender, EventArgs e)
  {
      if (!IsPostBack)
      {
          binding();
      }
  }


void binding()
  {
      SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=TestDB;Integrated Security=True");
      con.Open();
      SqlCommand cmd = new SqlCommand("select * from PROD_INVENTORY", con);
      cmd.CommandType = CommandType.Text;
      SqlDataAdapter adpt = new SqlDataAdapter(cmd);
      DataTable dt = new DataTable();
      adpt.Fill(dt);
      GridView1.DataSource = null;
      GridView1.DataSource = dt;
      GridView1.DataBind();
      con.Close();
      cmd.Dispose();

  }


protected void Button1_Click(object sender, EventArgs e)
  {
      SqlConnection cn = new SqlConnection(@"Data Source=MOHAMED-PC\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True");
      SqlCommand cmd = new SqlCommand();
     cn.Open();
      string statment ="";
      foreach (GridViewRow item in GridView1.Rows)
      {

       statment   = string.Format("insert into PROD_INVENTORY ( PROD_GRP_ID, PRODUCT_ID, IMEI_NO,INV_CAT_ID,QTY,CREATED_BY) values ('{0}','{1}','{2}','{3}','{4}','{5}' )", item.Cells[2].Text, item.Cells[3].Text, null, '1',
              item.Cells[4].Text.ToString(), "ashu1810");
         //  cmd = new SqlCommand(statment, cn);


      }
      cmd.CommandText = statment;
      cmd.Connection = cn;
      cmd.CommandType = CommandType.Text;
      cmd.ExecuteNonQuery();
      cn.Close();
      cmd.Dispose();
      binding();

  }


我做了类似的事情,并且现在可以正常工作了.
I did it something like this, and its working now.
protected void Btnrecv_Click(object sender, EventArgs e)
  {

      callgrid();
      for (int i = 0; i < GridView1.Rows.Count; i++)
      {

          int PGID = Convert.ToInt32( ds.Tables["T"].Rows[i][1].ToString());
          int PID = Convert.ToInt32(ds.Tables["T"].Rows[i][2].ToString());
          int qty = Convert.ToInt32(ds.Tables["T"].Rows[i][3].ToString());
          int wrid = Convert.ToInt32(ddlwarehouseid.SelectedItem.ToString());
          cmd.CommandType = CommandType.StoredProcedure;
          cmd.Parameters.Clear();
          cmd.CommandText = "insert_update";
          cmd.Parameters.AddWithValue("@PGID", PGID);
          cmd.Parameters.AddWithValue("@PID", PID);
          cmd.Parameters.AddWithValue("@IMEINO", "NULL");
          cmd.Parameters.AddWithValue("@INVCAT", 1);
          cmd.Parameters.AddWithValue("@QTY", qty);
          cmd.Parameters.AddWithValue("@CDB", " LOGGEDIN USER");
          cmd.Parameters.AddWithValue("@CD", DateTime.Now.ToString());
          cmd.Parameters.AddWithValue("@LUB", "LOGGEDIN USER");
          cmd.Parameters.AddWithValue("@LUD", DateTime.Now.ToString());
          cmd.Parameters.AddWithValue("@VALID", "Y");
          cmd.Parameters.AddWithValue("@WRID", wrid);

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



我用存储过程



and I used stored Procedure

ALTER procedure [dbo].[insert_update] (@PGID int ,@PID int,@IMEINO VARCHAR(30),@INVCAT INT,@QTY int,@CDB VARCHAR(20) ,@CD DATE,@LUB VARCHAR(20),@LUD DATE,@VALID CHAR(1),@WRID int)
AS
BEGIN
IF NOT EXISTS (SELECT * FROM PROD_INVENTORY WHERE PROD_GRP_ID=@PGID AND PRODUCT_ID=@PID AND WAREHOUSE_ID=@WRID )
INSERT INTO PROD_INVENTORY(PROD_GRP_ID,PRODUCT_ID,IMEI_NO,INV_CAT_ID,QTY,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,VALID,WAREHOUSE_ID)
VALUES (@PGID, @PID,@IMEINO,@INVCAT,@QTY,@CDB,@CD,@LUB,@LUD,@VALID,@WRID)

ELSE
UPDATE PROD_INVENTORY SET
QTY=QTY+@QTY,CREATED_BY=@CDB,CREATION_DATE=@CD,LAST_UPDATED_BY=@LUB,LAST_UPDATE_DATE=@LUD,VALID=@VALID WHERE PROD_GRP_ID=@PGID AND PRODUCT_ID=@PID AND WAREHOUSE_ID=@WRID
END


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

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