1. DataAdapter.Update2.SqlCommand.ExecuteNonQuery("update...")

解决方案 »

  1.   

    在DATASET中将数据全部处理之后UPDATE就可以了,很方便的
      

  2.   

    小弟乃.net 初学者
    请给一段源代码好吗/
    谢谢
      

  3.   

    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,"表名")
      

  4.   

    1.用线程
    2.先把数据方数据源,分几批,然后,先保存一批,判断是否保存此批完毕,控制操作,某条件后再读取接下来的一批
    .....
    nn<=1000000000000......
      

  5.   

    问题已经解决,现共享给大家 
    希望对大家有所帮助:
    一个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>