各位大虾:已经将xml文件导入到dataset中.如何将该dataset数据导入到数据库对应表中 我觉得必须写insert语句不知道别的大侠还有什么办法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TO shuker(秋风儿,学习.net) : 如果是这样的话,ms应该在做那么一点点就行了 如果数据库的表结构与DataSet中的表一样的话(只讨论DataSet中有一个表的情况):建一个DataTable,将DataSet中表的数据用循环添加到DataTable中(注意用DataTable.NewRow),这样DataTable中的数据的行状态都是Added,再adp.Update(DataTable)就可以了 是不是dataset的架构里面的数据结构和数据库中的结构一样,如果什么都一样的话可以可成批的倒入的 To 各位: 数据结构确定是一样的.我可以得到dataset的每一个datatable.但是datatable如何与Oleadapter联系起来??这个就是关键啊To HenanBoy(天天学习) : 不知道你有什么高招?我时时在线,解决后立马结帐 自己实现了单个表的导入导出.多个关联表必须要将关系操作.可以使用同样的道理改装 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"); } /// <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; } } 为什么使用下面的代码进行二维码打印总是竖着打印 而不横着打印呢? ssssssssssss 求检查网站是否更新信息的原理或代码 [求助]关于C#和VC的比较 自动赋值 StoredProcedure存储过程,是什么意思,有什么作用? 定制控件问题。谢谢! 散分!贼简单问题:数据邦定 C#中如何连接Oracle 数据库? 求助:采用File.Exists判断文件存在 文件夹目录下却没有该文件 急!关于WORD文件的读取!请高手帮忙 C#可不可以处理指针和WINDOWS消息?
如果是这样的话,ms应该在做那么一点点就行了
数据结构确定是一样的.
我可以得到dataset的每一个datatable.但是datatable如何与Oleadapter联系起来??
这个就是关键啊
To HenanBoy(天天学习) :
不知道你有什么高招?我时时在线,解决后立马结帐
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");
}
/// 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;
}
}