Ado.net批量添加和更新数据简单示例


SqlConnection conn = new SqlConnection("server=xk\\xk;uid=sa;pwd=112233;database=test");


SqlDataAdapter da
= new SqlDataAdapter();

SqlCommand cmd;

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

private void Get_Insert_Update_Info()
{
cmd
= new SqlCommand( " select * from student " , conn);
DataSet ds
= new DataSet();
da.SelectCommand
= cmd;
da.Fill(ds,
" Table " );
for ( int i = 0 ; i < ds.Tables[ " Table " ].Rows.Count; i ++ )
{
Response.Write(ds.Tables[
" Table " ].Rows[i][ " name " ] + " <br/> " );
}
ViewState[
" ds " ] = ds;
}

// 批量更新数据
protected void Button1_Click( object sender, EventArgs e)
{
DataSet ds
= ViewState[ " ds " ] as DataSet;
for ( int i = 0 ; i < ds.Tables[ " Table " ].Rows.Count; i ++ )
{
ds.Tables[
" Table " ].Rows[i].BeginEdit();
ds.Tables[
" Table " ].Rows[i][ " name " ] = " ***************** " ;
ds.Tables[
" Table " ].Rows[i].EndEdit();
}

String UpdateSQL
= " Update student set name=@name where Id=@id " ;
cmd
= new SqlCommand(UpdateSQL, conn);
cmd.Parameters.Add(
" @name " , SqlDbType.VarChar, 50 , " name " );
cmd.Parameters.Add(
" @id " , SqlDbType.Int, 4 , " id " );
da.UpdateCommand
= cmd;
da.Update(ds,
" Table " );
ds.AcceptChanges();
}

// 批量插入数据
protected void Button2_Click( object sender, EventArgs e)
{
DataTable dt
= new DataTable();
DataRow dr;
dt.Columns.Add(
new DataColumn( " name " ));
for ( int i = 0 ; i < 3 ; i ++ )
{
dr
= dt.NewRow();
dr[
0 ] = " name " + i.ToString();
dt.Rows.Add(dr);
}

System.Text.StringBuilder sb
= new System.Text.StringBuilder( "" );
sb.Append(
" INSERT student(name) VALUES( " );
sb.Append(
" @name) " );
da.InsertCommand
= new SqlCommand();
da.InsertCommand.CommandText
= sb.ToString();
da.InsertCommand.Connection
= conn;
SqlParameter sp
= new SqlParameter( " @name " , SqlDbType.VarChar, 50 );
sp.SourceVersion
= DataRowVersion.Current;
sp.SourceColumn
= " name " ; // or sp.SourceColumn = Dt.Columns[0].ColumnName;
da.InsertCommand.Parameters.Add(sp);
da.Update(dt);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值