如何向数据库批量插入数据

wangfeng66 2004-04-12 05:57:28
在asp.old 中 批量插入数据 可以用
do while
....
rs.addnew()
loop

现在在asp.net 中遇到向数据库批量插入数据,该如何实现?
...全文
468 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Hexudong1979 2004-04-13
1.用线程
2.先把数据方数据源,分几批,然后,先保存一批,判断是否保存此批完毕,控制操作,某条件后再读取接下来的一批
.....
n

n<=1000000000000......
  • 打赏
  • 举报
回复
wangfeng66 2004-04-13
3q
  • 打赏
  • 举报
回复
wangfeng66 2004-04-13
问题已经解决,现共享给大家
希望对大家有所帮助:
一个update的例子:
<%@ Page language="C#" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">
void Page_Load(object sender, System.EventArgs e){
SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=kingapex;database=tourmsg");
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("select top 2 id,groupnumber as groupnumber1 from [grouptb]",conn);
DataSet ds = new DataSet();
conn.Open();
da.SelectCommand = cmd;
da.Fill(ds,"grouptb");


for(int i=0;i<ds.Tables["grouptb"].Rows.Count;i++)
{

Response.Write(ds.Tables["grouptb"].Rows[1]+"<br>");
}


for(int i=0;i<ds.Tables["grouptb"].Rows.Count;i++)
{
ds.Tables["grouptb"].Rows.BeginEdit();
ds.Tables["grouptb"].Rows[1] = "wangfengrr";
ds.Tables["grouptb"].Rows.EndEdit();
}

String updateCmd = "Update grouptb set groupnumber = @groupnumber Where Id=@id";


cmd = new SqlCommand(updateCmd, conn);
cmd.Parameters.Add("@id",SqlDbType.Int,4,"id");
cmd.Parameters.Add("@groupnumber",SqlDbType.Char,10,"groupnumber1");

da.UpdateCommand = cmd;
da.Update(ds,"grouptb");
ds.AcceptChanges();

conn.Close();


}
</script>

下面是一个insert 的例子:

<%@ Page language="C#" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">
void Page_Load(object sender, System.EventArgs e){

//建立DataTable数据源
DataTable Dt = new DataTable();

DataRow Dr;

Dt.Columns.Add(new DataColumn("groupnumber"));



for(int j =0;j<3;j++){

Dr=Dt.NewRow();

Dr[0]="groupnumber"+j.ToString();

Dt.Rows.Add(Dr);

}


SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=kingapex;database=tourmsg");


SqlDataAdapter MyAdapter = new SqlDataAdapter();

//建立InsertCommand
StringBuilder sb = new StringBuilder("");
sb.Append("INSERT grouptb (groupnumber) VALUES(");
sb.Append("@groupnumber)");
MyAdapter.InsertCommand = new SqlCommand();
MyAdapter.InsertCommand.CommandText = sb.ToString();
MyAdapter.InsertCommand.Connection = conn;


SqlParameter p1 = new SqlParameter("@groupnumber", SqlDbType.VarChar, 40);
p1.SourceVersion = DataRowVersion.Current;
p1.SourceColumn = "groupnumber"; // or p1.SourceColumn = Dt.Columns[0].ColumnName;
MyAdapter.InsertCommand.Parameters.Add(p1);

//Update
MyAdapter.Update(Dt);

conn.Close();
}
</script>
  • 打赏
  • 举报
回复
chenyuming2004 2004-04-12
SqlConnection conn=new SqlConnection(连接字符串)
SqlDataAdapter adapter=new SqlDataAdatper("打开表",conn)
DataSet dataset=new DataSet()
adapter.fill(dataset,"表名")
do while
DataRow dr=dataset.Tables[表名].NewRow();
dr[字段]=值
dataset.Tables[表名].Rows.Add(dr)
loop
adapter.update(dataset,"表名")
  • 打赏
  • 举报
回复
dxhdxh2k 2004-04-12
up
  • 打赏
  • 举报
回复
wangfeng66 2004-04-12
小弟乃.net 初学者
请给一段源代码好吗/
谢谢
  • 打赏
  • 举报
回复
kanshangren 2004-04-12
在DATASET中将数据全部处理之后UPDATE就可以了,很方便的
  • 打赏
  • 举报
回复
minajo21 2004-04-12
1. DataAdapter.Update

2.SqlCommand.ExecuteNonQuery("update...")
  • 打赏
  • 举报
回复
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2004-04-12 05:57
社区公告

让您成为最强悍的C#开发者