首页 > 编程语言 >ASP.NET批量插入数据

ASP.NET批量插入数据

时间:2022-12-20 16:00:31浏览次数:42  
标签:ASP ad 批量 dtSouce DataTable Rows NET dr dt


 



精华推荐: ​​帮忙写个算法:两个递增数列排序后求第n个数​​



C# code



SqlDataAdapter ad
=

new
SqlDataAdapter(
"
select top 1 * from users where 1<>1
"
, sqlconn);
//
取个结构


DataTable dt
=

new
DataTable();
SqlCommandBuilder cmb
=

new
SqlCommandBuilder(ad);
//
这一句很关键,必不可少。


ad.Fill(dt);

int
i;

for
(i
=

1
; i
<

10
; i
++
)
{
DataRow dr
=
dt.NewRow();
dr[
"
uid
"
]
=

"
nid
"

+
i.ToString();
dt.Rows.Add(dr);
}
ad.Update(dt);



 



  • ​​ASP.NET批量插入数据_dataset​​
  • ​​HDNGO​​
  • (礼拜一)

  • 等 级:


#3楼 得分:0回复于:2009-01-07 23:55:22




精华推荐: ​​请教msdn上关于拆箱的解释​​


先用1<>1的条件做个空的DS,这样你就不用手动做一个DataTable了~~

数据弄脏以后,Update就可以插入了~

 



  • ​​ASP.NET批量插入数据_string_02​​
  • ​​rainxieyue​​
  • (rainxieyue)

  • 等 级:



#4楼 得分:0回复于:2009-01-08 00:02:52




精华推荐: ​​【讨论】★★★★★难度!!如何在WINDOWS启动的时候,用户准备输入密码的时候,运行并且显示程序?​​



引用 2 楼 HDNGO 的回复:
C# codeSqlDataAdapter ad=newSqlDataAdapter("select top 1 * from users where 1<>1", sqlconn);//取个结构DataTable dt=newDataTable();
SqlCommandBuilder cmb=newSqlCommandBuilder(ad);//这一句很关键,必不可少。ad.Fill(dt);inti;for(i=1; i<10; i++)
{
DataRow dr=dt.NewRow();
dr["uid"]="nid"+i.ToString();
dt.Rows.Add(dr);


我是要将一个DATASET里的数据导进去请问我有数据的DATASEY怎么给他?

这个ad.Update(dt)里的dt不是从数据取出的结构吗?~1

麻烦你讲的在详细点好吗

搞定马上给分


 



  • ​​ASP.NET批量插入数据_dataset​​
  • ​​HDNGO​​
  • (礼拜一)

  • 等 级:


#5楼 得分:0回复于:2009-01-08 00:12:05




精华推荐: ​​[攒分贴]每日小知识​​


给你我的测试过程~~

1.建立表test~表中只有一列ID,int型~

2.建立控制台项目InsertData~

3.代码如下~


using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data; namespace InsertData{ class Program { static void Main( string [] args) { string sqlconn = " server=127.0.0.1;user id=sa;password=xxx;database=test; " ; SqlDataAdapter ad = new SqlDataAdapter( " select top 1 * from test where 1<>1 " , sqlconn); // 取个结构 DataTable dt = new DataTable(); SqlCommandBuilder cmb = new SqlCommandBuilder(ad); // 这一句很关键,必不可少。 ad.Fill(dt); for ( int i = 1 ; i < 10 ; i ++ ) { DataRow dr = dt.NewRow(); dr[ " id " ] = i; dt.Rows.Add(dr); } ad.Update(dt); Console.WriteLine( " OK " ); Console.Read(); } }}




运行后test表中有10行新加入数据~



OVER~


 



  • ​​ASP.NET批量插入数据_dataset​​
  • ​​HDNGO​​
  • (礼拜一)

  • 等 级:


    #6楼 得分:0回复于:2009-01-08 00:14:20






    ad.Fill(dt);//这句的时候,DataTable是空的~

    ad.Update(dt);//这个时候,已经ADD了10条数据在DataTable里了~

    这个时候,Update就可以把数据插入了~

     



    • ​​ASP.NET批量插入数据_string_02​​
    • ​​rainxieyue​​
    • (rainxieyue)

    • 等 级:


      #7楼 得分:0回复于:2009-01-08 00:19:55






      大哥我按你的方法写了
      可是表里如果又有INT又有varchar
      就会报输入字符串的格式不正确。 
      我给你看下我的代码你看能不能
      把一个TABLE的ROW直接附给另一个TABLE


      SqlConnection conn = new SqlConnection(str); conn.Open(); SqlDataAdapter da = new SqlDataAdapter( " select top 1 * from wind where 1<>1 " , conn); DataTable dt = xls_to_dtab(FileUpload1.PostedFile.FileName).Tables[ 0 ]; DataTable dtt = new DataTable(); da.Fill(dtt); SqlCommandBuilder cmd = new SqlCommandBuilder(da); da.Fill(dt); for ( int i = 1 ; i < dt.Rows.Count; i ++ ) { dtt.Rows.Add(dt.Rows[i].ToString()); } da.Update(dtt);



       



      • ​​ASP.NET批量插入数据_string_02​​
      • ​​rainxieyue​​
      • (rainxieyue)

      • 等 级:



      #8楼 得分:0回复于:2009-01-08 00:20:45






      我在线等你的消息大哥一定帮帮忙哦

       



      • ​​ASP.NET批量插入数据_dataset​​
      • ​​HDNGO​​
      • (礼拜一)

      • 等 级:


      #9楼 得分:0回复于:2009-01-08 00:27:56






      你的两个表的结构给我看看~

       



      • ​​ASP.NET批量插入数据_string_02​​
      • ​​rainxieyue​​
      • (rainxieyue)

      • 等 级:



      #10楼 得分:0回复于:2009-01-08 00:28:41






      dtt.Rows.Add(dt.Rows[i].ItemArray);
      我解决了
      可是记录依然没有添加到数据库里啊~!
      这是怎么会事呀?
      能帮我下么

       



      • ​​ASP.NET批量插入数据_string_02​​
      • ​​rainxieyue​​
      • (rainxieyue)

      • 等 级:



      #11楼 得分:0回复于:2009-01-08 00:30:42






      CREATE TABLE[wind](
      [id] [int] IDENTITY(1,1)PRIMARY KEY NOT NULL,
      [Name] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
      [code] [int] NULL,
      [NickName] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
      [Title] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
      [http] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
      )
      还有个是XLS文件里读出来的
      文件里数据是
      sadsad 213 xcxz xccxz zxcxz
      asd 23 xczc asd cxzcs
      cxzc 421 cxzcs dwcx zxcxzc
      csacsa 532 cxzcsa ewdxzcx xzcsdsaca

       



      • ​​ASP.NET批量插入数据_dataset​​
      • ​​HDNGO​​
      • (礼拜一)

      • 等 级:


      #12楼 得分:0回复于:2009-01-08 00:50:47





      string sqlconn = " server=127.0.0.1;user id=sa;password=123;database=test; " ; SqlDataAdapter ad = new SqlDataAdapter( " select Name,code,NickName,Title,http from wind where 1<>1 " , sqlconn); // 取个结构 DataTable dt = new DataTable(); SqlCommandBuilder cmb = new SqlCommandBuilder(ad); // 这一句很关键,必不可少。 ad.Fill(dt); // 由于没有XLS数据,自己凑了一行数据出来,你那块这里直接写你的就成 // 凑数据开始 DataTable dtSouce = new DataTable(); dtSouce.Columns.Add( " Name " , typeof ( string )); dtSouce.Columns.Add( " code " , typeof ( string )); dtSouce.Columns.Add( " NickName " , typeof ( string )); dtSouce.Columns.Add( " Title " , typeof ( string )); dtSouce.Columns.Add( " http " , typeof ( string )); DataRow drSouce = dtSouce.NewRow(); drSouce[ " Name " ] = " aaa " ; drSouce[ " code " ] = " 123 " ; drSouce[ " NickName " ] = " fff " ; drSouce[ " Title " ] = " eee " ; drSouce[ " http " ] = " ccc " ; dtSouce.Rows.Add(drSouce); // 凑数据结束 // 你可以用你的DataTable dtSouce = xls_to_dtab(FileUpload1.PostedFile.FileName).Tables[0]; // 来代替上边的开始到结束 for ( int i = 0 ; i < dtSouce.Rows.Count; i ++ ) { DataRow dr = dt.NewRow(); dr[ " Name " ] = dtSouce.Rows[i][ 0 ].ToString(); dr[ " code " ] = int .Parse(dtSouce.Rows[i][ 1 ].ToString()); // 对int进行转型~ dr[ " NickName " ] = dtSouce.Rows[i][ 2 ].ToString(); dr[ " Title " ] = dtSouce.Rows[i][ 3 ].ToString(); dr[ " http " ] = dtSouce.Rows[i][ 4 ].ToString(); dt.Rows.Add(dr); } ad.Update(dt); Console.WriteLine( " OK " ); Console.Read();



      标签:ASP,ad,批量,dtSouce,DataTable,Rows,NET,dr,dt
      From: https://blog.51cto.com/u_11295556/5956038

      相关文章

      • docker-compose 编排Net6项目,redis/mysql/nlog实战
        十年河东,十年河西,莫欺少年穷学无止境,精益求精1、新建net6webapi项目一个非常简单的net6项目,使用mysql数据库,redis做缓存   关于项目的搭建,这里不做说明,本篇主......
      • 在.Net6 上 使用 Core Frist EF 进行数据迁移
        1.首先引用两个包,不过需要版本相同Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools  2.表实体定义usingSystem.ComponentModel.......
      • .Net 6 使用Code Frist EF简单数据迁移
        1.定义 EFCodeFirst上下文StuContext类和一个类作为模型 映射字段 usingSystem.Data.Entity;usingSystem.Collections.Generic;usingSy......
      • PowerDotNet平台化软件架构设计与实现系列(14):平台建设指南
        软件开发中常见的几种不同服务模型包括SaaS(软件即服务)、LaaS(许可即服务)、PaaS(平台即服务)、CaaS(容器即服务)、IaaS(基础设施即服务)和FaaS(功能即服务)。很多人认为IaaS和FaaS是......
      • Kubernetes监控手册-01体系概述
        Kubernetes监控体系驳杂,涉及到的内容非常多,总是感觉摸不到头绪,网上虽然有很多资料,都略显凌乱,没有一个体系化的讲解,今天开始,我们准备撰写一系列文章,把Kubernetes监控说透......
      • Kubernetes监控手册06-监控APIServer
        写在前面如果是用的公有云托管的Kubernetes集群,控制面的组件都交由云厂商托管的,那作为客户的我们就省事了,基本不用操心APIServer的运维。个人也推荐使用云厂商这个服务,......
      • python中telnetlib模块的使用
        python下能支持telnet的模块telnetlib是内置模块,直接import就可以了,其基本的使用方法也是比较简单的。 #encoding=utf-8defdo_telnet(Host,username,password,finish,......
      • MySQL批量插入数据的四种方案(性能测试对比)
        本文记录个人使用MySQL插入大数据总结较实用的方案,通过对常用插入大数据的4种方式进行测试,即for循环单条、拼接SQL、批量插入saveBatch()、循环+开启批处理模式,得出比较......
      • Kubernetes(k8s) kubectl cluster-info常用命令
        kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
      • 不要启用 net.ipv4.tcp_tw_recycle
        本文为翻译英文BLOG《​​CopingwiththeTCPTIME-WAITstateonbusyLinuxservers​​》,但并非完整的翻译,译者CFC4N对原文理解后,进行了调整,增加了相关论点论据,跟原文稍......