1",sqlconn);//取个结构DataTabledt=newDataTable();SqlCommandBuildercmb=newSqlCommandBuilder(ad);//这一句很关键,必不可少。ad.Fill(dt);inti;for(i=1;i<10;i++){DataRowdr=dt.NewRow(" />

ASP.NET批量插入数据

系统 2432 0
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);

#3楼 得分:0 回复于:2009-01-07 23:55:22
先用1<>1的条件做个空的DS,这样你就不用手动做一个DataTable了~~

数据弄脏以后,Update就可以插入了~
#4楼 得分:0 回复于:2009-01-08 00:02:52
引用 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
麻烦你讲的在详细点好吗
搞定马上给分
#5楼 得分:0 回复于:2009-01-08 00:12:05
给你我的测试过程~~

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

2.建立控制台项目InsertData~

3.代码如下~

C# code
                        
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~
#6楼 得分:0 回复于:2009-01-08 00:14:20
ad.Fill(dt);//这句的时候,DataTable是空的~

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

这个时候,Update就可以把数据插入了~
#7楼 得分:0 回复于:2009-01-08 00:19:55
大哥我按你的方法写了
可是表里如果又有INT又有varchar
就会报输入字符串的格式不正确。
我给你看下我的代码你看能不能
把一个TABLE的ROW直接附给另一个TABLE
C# code
                        
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);
#8楼 得分:0 回复于:2009-01-08 00:20:45
我在线等你的消息大哥一定帮帮忙哦
#9楼 得分:0 回复于:2009-01-08 00:27:56
你的两个表的结构给我看看~
#10楼 得分:0 回复于:2009-01-08 00:28:41
dtt.Rows.Add(dt.Rows[i].ItemArray);
我解决了
可是记录依然没有添加到数据库里啊~!
这是怎么会事呀?
能帮我下么
#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
#12楼 得分:0 回复于:2009-01-08 00:50:47
C# code
                        
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.NET批量插入数据


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论