如何向数据库批量插入数据 1. DataAdapter.Update2.SqlCommand.ExecuteNonQuery("update...") 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在DATASET中将数据全部处理之后UPDATE就可以了,很方便的 小弟乃.net 初学者请给一段源代码好吗/谢谢 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)loopadapter.update(dataset,"表名") 1.用线程2.先把数据方数据源,分几批,然后,先保存一批,判断是否保存此批完毕,控制操作,某条件后再读取接下来的一批.....nn<=1000000000000...... 问题已经解决,现共享给大家 希望对大家有所帮助:一个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();//建立InsertCommandStringBuilder 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);//UpdateMyAdapter.Update(Dt); conn.Close();}</script> 求16进制形式字符串无变化转换成byte数组 .net 下 TreeView的一个奇怪问题 TextBox1.Focus();为啥不起作用? SQL2000数据小数点前没有0 C#中设置哪个属性可以让窗体无边框? vs2005 C#多线程问题,在线等高手 如何用C#做传奇私服登陆器 关于C#鼠标放到控件上的提示信息问题 C#中的类型转换问题· C# 如何调用Mstsc.exe进行远程桌面连接 ▲▲初学者问题:如何动态增加datagrid的列啊!▲▲ 求教:win form窗口悬浮!
请给一段源代码好吗/
谢谢
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,"表名")
2.先把数据方数据源,分几批,然后,先保存一批,判断是否保存此批完毕,控制操作,某条件后再读取接下来的一批
.....
nn<=1000000000000......
希望对大家有所帮助:
一个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>