我觉得必须写insert语句
不知道别的大侠还有什么办法

解决方案 »

  1.   

    TO shuker(秋风儿,学习.net) :
      如果是这样的话,ms应该在做那么一点点就行了
      

  2.   

    如果数据库的表结构与DataSet中的表一样的话(只讨论DataSet中有一个表的情况):建一个DataTable,将DataSet中表的数据用循环添加到DataTable中(注意用DataTable.NewRow),这样DataTable中的数据的行状态都是Added,再adp.Update(DataTable)就可以了
      

  3.   

    是不是dataset的架构里面的数据结构和数据库中的结构一样,如果什么都一样的话可以可成批的倒入的
      

  4.   

    To 各位:
       数据结构确定是一样的.
    我可以得到dataset的每一个datatable.但是datatable如何与Oleadapter联系起来??
    这个就是关键啊
    To HenanBoy(天天学习) :
       不知道你有什么高招?我时时在线,解决后立马结帐
      

  5.   

    自己实现了单个表的导入导出.多个关联表必须要将关系操作.可以使用同样的道理改装
                     private void button1_Click(object sender, System.EventArgs e)
    {
     
    ExportTableToXml("T_FieldSet","c:\\xx.xml",m_PubConn);
    ExportTableToXml("T_FieldItem","c:\\yy.xml",m_PubConn);
    MessageBox.Show("success");
    } private void button2_Click(object sender, System.EventArgs e)
    {

                 
    ImportXmlToTable("c:\\xx.xml","T_FieldSet",m_PubConn);
    ImportXmlToTable("c:\\yy.xml","T_FieldItem",m_PubConn);
    MessageBox.Show("success");


    }
      

  6.   

    /// <summary>
    /// export the table of database
    /// </summary>
    /// <param name="m_TableName">table name</param>
    /// <param name="m_FilePath">file path</param>
    /// <param name="m_PubConn">Connection of database</param>
    /// <returns></returns>
    public bool ExportTableToXml(string m_TableName,string m_FilePath,OleDbConnection m_PubConn)
    {
    try
    {
    DataSet ds = new DataSet();
    OleDbDataAdapter m_Adapter = new OleDbDataAdapter("",m_PubConn);
    m_Adapter.SelectCommand    = new OleDbCommand("select * from "+m_TableName,m_PubConn);
    m_Adapter.Fill(ds,m_TableName);
    System.IO.FileStream fs    = new System.IO.FileStream(m_FilePath,System.IO.FileMode.Create);
    ds.WriteXml(fs, XmlWriteMode.WriteSchema); 
    fs.Close();
    return true;
    }catch (System.Exception error)
    {
            MessageBox.Show(error.Message,"error",MessageBoxButtons.OK,MessageBoxIcon.Error);
    return false;
             } 
    }
    /// <summary>
    /// import the xml file to database
    /// </summary>
    /// <param name="m_FilePath">file path</param>
    /// <param name="m_TableName">table name</param>
    /// <param name="m_PubConn">connection of database</param>
    /// <returns></returns>
    public bool ImportXmlToTable(string m_FilePath,string m_TableName,OleDbConnection m_PubConn)
    {
    try
    {
    DataSet ds                 = new DataSet();
    DataSet mdsMain            = new DataSet(); 
    OleDbCommand m_Comm        = new OleDbCommand("",m_PubConn);
    OleDbDataAdapter m_Adapter = new OleDbDataAdapter();
    mdsMain.ReadXml(m_FilePath,XmlReadMode.ReadSchema);
    //delete from tablename
    m_Comm.CommandText         = "delete from "+m_TableName;
    m_Comm.ExecuteNonQuery();
    //set the m_Adapter
    m_Comm.CommandText         = "select * from "+m_TableName;
    m_Adapter.SelectCommand    = m_Comm;
    OleDbCommandBuilder cb     = new OleDbCommandBuilder(m_Adapter); 
    m_Adapter.Fill(ds,m_TableName); System.IO.MemoryStream ms = new System.IO.MemoryStream();
    mdsMain.WriteXml(ms, XmlWriteMode.DiffGram);
    ms.Seek(0, SeekOrigin.Begin);
    ds.ReadXml(ms, XmlReadMode.DiffGram);
    m_Adapter.Update(ds, m_TableName);
    ds.AcceptChanges();  
    ms.Close();
    return true;
    }catch(System.Exception error)
    {
    MessageBox.Show(error.Message.ToString(),"error",MessageBoxButtons.OK,MessageBoxIcon.Error);
    }
     
                return false;
    }
    }