如下代码片断,如何将dataset写入到SQL数据库的新表中?try
            {
                string   strConn="server=.;uid=sa;pwd=11;database=test";   
                SqlConnection   conn=new   SqlConnection(strConn);   
                conn.Open(); 
                SqlDataAdapter da = new SqlDataAdapter("select * from Customers", conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "test");
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "数据库操作失败");
                throw;
            }

解决方案 »

  1.   

    这个不是把数据取出来放到DataSet里吗??
      

  2.   

    取出来了 又放回去?.用 select * into NewTable from Customers 不行么。
      

  3.   

    -_-!!
     SqlDataAdapter的update方法...
      

  4.   

    SqlConnection connection = new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=11");
    connection.Open();
    SqlDataAdapter sa = new SqlDataAdapter(sql, connection);DataSet ds = new DataSet();
    sa.Fill(ds);
    sqlserver的名字要确定,有的要加sqlexpress
      

  5.   

    在代码下面加上这个:要保证数据表里有主键
     SqlCommandBuilder cb = new SqlCommandBuilder(da );
            da.Update(ds, "Customers");
            ds.AcceptChanges();
            
      

  6.   


    对了,正式环境好像是sqlexpress的数据库,如何去读呢?
    (现在是测试环境)
      

  7.   


    DataSet dsnew = new DataSet("student");
                    SqlDataAdapter daInfo = new SqlDataAdapter("SELECT * FROM student WHERE ID='00001'", Conn);                daInfo.FillSchema(dsnew, SchemaType.Source, "student");
                    daInfo.Fill(dsnew, "student");
                    
                    DataTable dtinof = ds.Tables["student"];//ds 是传入的DataSet结合                foreach (DataRow dr in dtinof.Rows)
                    {
                        dsnew.Tables["student"].ImportRow(dr);
                        
                    }
                    
                    SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(daInfo);
                    daInfo.Update(dsnew, "student");