如何将所有行数据从gridview插入到表 [英] how to insert all rows data from a gridview to a table
本文介绍了如何将所有行数据从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屋!
查看全文