C#WINFORM怎么连接数据库,并将数据库数据导出为XML文件?

比如选择combobox中的ORACLE数据库,然后点保存按钮,可以将ORACLE数据库中的数据输出为XML文件,再选择combobox中的SQLSERVER数据库,可以... 比如选择combobox中的ORACLE数据库,然后点保存按钮,可以将ORACLE数据库中的数据输出为XML文件,再选择combobox中的SQL SERVER数据库,可以将SQL SERVER数据库中的数据输出为XML文件。
我是菜鸟,请大侠们讲通俗点,有代码甚好。
小女子不胜感激。
展开
 我来答
在双桥古镇感受晴天的喜羊羊
2011-07-15 · 超过25用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:67.3万
展开全部
public void DatasetToBinary(string path, System.Data.DataSet dsResult, out string errorinfo)
{
byte[] bArrayResult = null;
MemoryStream ms = new MemoryStream();
FileStream fi = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
try
{
dsResult.RemotingFormat = SerializationFormat.Binary;
IFormatter bf = new BinaryFormatter();
bf.Serialize(ms, dsResult);
bArrayResult = ms.ToArray();
fi.Write(bArrayResult, 0, bArrayResult.Length);
errorinfo = "成功";
}
catch (Exception ex)
{
errorinfo = "因" + ex.Message + "不能转换";
}
finally
{
ms.Close();
fi.Close();
}
}
//把二进制流转化到其中的value节点中
XmlNode updateNode = root.SelectSingleNode("filelist");
string path = updateNode.Attributes["sourcepath"].Value;
int count = int.Parse(updateNode.Attributes["count"].Value);
//将xml中的value用实际内容替换
for (int i = 0; i < count; i++)
{
XmlNode itemNode = updateNode.ChildNodes[i];
string fileName = path + itemNode.Attributes["name"].Value;
FileStream fs = File.OpenRead(Server.MapPath(fileName));
itemNode.Attributes["size"].Value = fs.Length.ToString();
BinaryReader br = new BinaryReader(fs);
//这里是文件的实际内容,使用了Base64String编码
itemNode.SelectSingleNode("value").InnerText = Convert.ToBase64String(br.ReadBytes((int)fs.Length), 0, (int)fs.Length);
br.Close();
fs.Close();
}
lz整合一下嘛
我想的是一个xml文件里分为n个节点,一个节点的value就是一个表
把表的内容封装到dataset里面,把它转化为二进制流,然后存储在dataset里面。
当然,你也可以在网上找一下数据库备份的代码,把数据库备份的内容直接转化为二进制流(就是我贴的第一部分代码)
xml的格式
<?xml version="1.0" encoding="utf-8" ?>
<product>
<version>1.0.0.1</version>
<description>转换数据库</description>
<filelist count="1" sourcepath="./update/">
<item name="table1" size="1318912">
<value />
</item>
<item name="table2" size="1318912">
<value />
</item>

</filelist>
</product>

楼主还有不懂的再问嘛,我要下班了,所以没把代码整合。这些代码是我做的两个程序里面的。来不及整合,呵呵,不好意思。
qwe23069
2011-07-17 · TA获得超过792个赞
知道小有建树答主
回答量:553
采纳率:50%
帮助的人:441万
展开全部
1楼的搞得这么麻烦干嘛呀
第一步将数据库的数据保存为DataSet
第二步写XML,DataSet有个方法WriteXml ("文件名.xml");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hcqsuizyx
2011-07-16 · TA获得超过467个赞
知道答主
回答量:529
采纳率:0%
帮助的人:372万
展开全部
嗯,您需要添加显示数据的控件,
还可以写一个类来访问数据,
在按钮里面写相关查询数据的代码,并把查询到的数据添加到显示数据的控件里就好了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式