zoukankan      html  css  js  c++  java
  • ASP.NET中批量插入数据

    如果需要批量插入记录,可以使用SqlDataAdapter。示例

       string sql= "Select item1,item2,item3 from tableA";
       SqlConnection cn 
    =new SqlConnection("server=(local);uid=sa;pwd=;database=examonline");
       SqlDataAdapter da 
    =new SqlDataAdapter(sql, cn);
       DataSet ds
    =new DataSet();
       
    try
       
    {
           cn.Open();
           da.Fill(ds, 
    "dsTable1");
       }

       
    finally
       
    {
           cn.Close();
       }
     

    //向ds中追加要添加的批量数据
       CheckBox cb=new CheckBox();
       DataRow dr;
       
    for(int i=0;i<Datagrid1.Items.Count;i++)
       
    {
           cb
    =(CheckBox)Datagrid1.Items[i].FindControl("CheckBox1");
           
    if(cb.Checked==true)
           
    {
            dr
    =ds.Tables["dsTable1"].NewRow();
            dr[
    "item1"]=((Label)Datagrid1.Items[i].FindControl("Label1")).Text;
            dr[
    "item2"]=((Label)Datagrid1.Items[i].FindControl("Label2")).Text;
            dr[
    "item3"]=((Label)Datagrid1.Items[i].FindControl("Label3")).Text;
            ds.Tables[
    "dsTable1"].Rows.Add(dr);
           }

       }


    //在批量添加数据前的准备工作
       sql="insert into tableA(item1,item2,item3) VALUES (@item1,@item2,@item3)";
       da.InsertCommand
    =new SqlCommand(sql,cn); 
       SqlParameter param
    =new SqlParameter();
       param 
    = da.InsertCommand.Parameters.Add(new SqlParameter("@item1",SqlDbType.Char,50));
       param.SourceVersion 
    = DataRowVersion.Current;
       param.SourceColumn 
    = "item1";

       param 
    = da.InsertCommand.Parameters.Add(new SqlParameter("@item2",SqlDbType.Char,50));
       param.SourceVersion 
    = DataRowVersion.Current;
       param.SourceColumn 
    = "item2";

       param 
    = da.InsertCommand.Parameters.Add(new SqlParameter("@item3",SqlDbType.Char,50));
       param.SourceVersion 
    = DataRowVersion.Current;
       param.SourceColumn 
    = "item3";

    //批量添加数据
        try
       
    {
           cn.Open();
           da1.Update(ds,
    "dsTable1");
       }

       
    catch(Exception ex)
       
    {
           Label1.Text
    ="数据库错误:" +ex.Message.ToString();
       }

       
    finally
       
    {
           cn.Close();
       }


  • 相关阅读:
    vue+element目录树默认展开和选中
    vue+element目录树初始化和销毁
    vue父组件通过ref获取子组件的值
    [moka同学笔记转载]Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
    [moka同学笔记]JS学习 鼠标事件
    [moka同学笔记]phpStudy for Linux (lnmp+lamp一键安装包)
    [转载]php中序列化与反序列化
    [Node.js学习]初之体验
    [moka同学笔记转载]Yii 设置 flash消息 创建一个渐隐形式的消息框
    [moka同学笔记转载]yii2.0 rbac权限学习笔记
  • 原文地址:https://www.cnblogs.com/pains/p/890173.html
Copyright © 2011-2022 走看看