使用xml檔案,做資料的匯入,匯出 (轉)
的dataset是一個很有趣的,藉助與可以很快捷的做出資料匯入,匯出功能.microsoft-com::office" />
關鍵程式碼如下:
///
/// export the table of database
///
/// table name
/// file path
/// Connection of database
///
public bool ExportTableToXml(string m_TableName,string m_FilePath,OleConnection m_PubConn)
{
try
{
DataSet ds = new DataSet();
OleDbDataAdapter m_Adapter = new OleDbDataAdapter("",m_PubConn);
m_Adapter.Command = 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;
}
}
///
/// import the xml file to database
///
/// file path
/// table name
/// connection of database
///
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;
}
}
測試程式碼:
private void button1_Click( 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");
}
注意:
1. 我在匯入資料的時候,將原來的資料刪除了的;
2. 2個匯入,匯出只是針對單個表;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-959006/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- xml與資料庫中資料的匯入匯出XML資料庫
- 一個ORACLE匯入和匯出XML檔案的例子OracleXML
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- 哪位有jsp匯入匯出xml檔案的程式碼JSXML
- MySQL匯入匯出檔案檔案MySql
- php讀取excel檔案資料的匯入和匯出PHPExcel
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- (十一)Electron 匯入匯出檔案
- mysql 匯入匯出 sql檔案MySql
- MySQL匯入匯出平面檔案MySql
- EasyExcel完成excel檔案的匯入匯出Excel
- 【匯入匯出】將資料匯入到其他使用者
- 資料庫的匯入匯出資料庫
- 資料泵的匯入匯出
- Oracle使用資料泵匯出匯入表Oracle
- MYSQL資料檔案匯入MySql
- 華表Cell檔案匯入匯出
- 資料泵匯出匯入
- Oracle 資料匯入匯出Oracle
- mysql資料匯入匯出MySql
- mysql資料匯出匯入MySql
- Oracle資料匯入匯出Oracle
- plsql developer匯入匯出資料庫方法 <轉>SQLDeveloper資料庫
- Oracle資料匯入匯出imp/exp命令(轉)Oracle
- 使用Dbeaver 進行資料的匯入和匯出
- 將XML匯入資料庫XML資料庫
- 如何將 JSON, Text, XML, CSV 資料檔案匯入 MySQLJSONXMLMySql
- Mongodb資料的匯出與匯入MongoDB
- EasyPoi, Excel資料的匯入匯出Excel
- 匯入和匯出AWR的資料
- BCP 資料的匯入和匯出
- AWR資料的匯出與匯入
- ITDS資料匯入匯出的方法
- NDS的資料匯入和匯出
- Progress資料表的匯入匯出
- Navicat如何匯入和匯出sql檔案SQL
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- MySQL資料庫結構和資料的匯出和匯入 (轉)MySql資料庫