DataSet数据能否插入到SQL数据库中的一个表里?用INSERT INTO 的方法能做吗?

解决方案 »

  1.   

    可以的,你应该是用到某个对象的updata方法.
      

  2.   

    但让可以
    最笨的方法就是历遍dataset的数据,然后insert
      

  3.   

    同楼上,读DataSet里的数据,然后一行一行插入数据或者更新数据
      

  4.   

    DataSet myset = new DataSet();
    string SqlText="";
    for(int i=0;i<myset.Tables[0].DefaultView.Count;i++)
    {
    SqlText+="insert into table values("+myset.Tables[0].DefaultView[i]["col1"].ToString()+","+myset.Tables[0].DefaultView[i]["col2"].ToString()+")";
    }循环之后会得到要执行的sql语句,然后执行哪个sql语句就可以了
      

  5.   

    这样太麻烦了,如果数据库里表的结构与DATASET里的表的结构相同,可以直接用SqlDataAdapter.Update()方法插入.
      

  6.   

    用这个对象SqlCommandBuilder的update方法吧,应该可以解决你的问题
      

  7.   

    DataSet myds = GetDataSet(Sql);
    if(!((myds.tables.count<=0)||(myds.tables[0].rows.count<=0)))
    {
       int i = myds.tables[0].rows.count;
       for(int j=0;j<=i;j++)
       {
          string strSql = "insert into table (a,b,c) values ('"+myds.tables[0].rows[j]["a"].tostring().trim()+"',..........."
          ExcuteSql(strSql);
       }
    }
      

  8.   

    liu,wang所说的方法ms最终还是通过一条一条插入进去的和间接这样写效果一样
      

  9.   

    当然能了。
    先把数据放到DATASET中,然后在用一个方法把他INSERT到数据库中就可以了啦
      

  10.   

    datetable 就可以
    你把 ds里面的 datatable 那出来adapter.InsertCommand = new SqlCommandBuilder(adapter).GetInsertCommand();
    adapter.Update(newTable);
      

  11.   

    哈,楼上各位都是把Dataset当成只有一个表的集合了吧,我个人觉得如果Dataset里的Datatable结构不一样,就不能插到数据库的一个表里
    Dataset类于本地数据库,能说把数据库插到数据表中吗?
      

  12.   

    gsk99(ZJUT) :太谢谢你了,用你的这样的方法我可以导入了,谢谢
    DataSet myDs = new DataSet();
    adapter.Fill(myDs,"[Sheet1$]");
    string SqlText="";
    for(int i=0;i<myDs.Tables[0].DefaultView.Count;i++)
    {
    SqlText ="insert into new_phone(phone,createtime) values('"+myDs.Tables[0].DefaultView[i]["phone"].ToString()+"','"+myDs.Tables[0].DefaultView[i]["createtime"].ToString()+"')";
    SqlCommand cmd = new SqlCommand(SqlText,conn);
    try
    {   
    cmd.ExecuteNonQuery();
    }
    catch
    {
    }
    finally
    {
    cmd.Dispose();

    }
    }
    conn.Close();