如何把Dataset转化成xml文件,存入sql数据库

byj2001329 2007-02-15 02:01:40
sql 数据库里的字段类型为ntext,如何把xml文件再转化成字符串存储到数据库里?
...全文
344 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
byj2001329 2007-02-25
  • 打赏
  • 举报
回复
谁有更好的办法啊?
byj2001329 2007-02-16
  • 打赏
  • 举报
回复
经过对比,
dim fs as io.filesystem
dim ms as io.memorystream
dim ds as dataset

ds.WriteXml(fs, XmlWriteMode.DiffGram)
ds.WriteXml(ms, XmlWriteMode.DiffGram)
这两种方法生成的流,ms比fs确实少这句声明
<?xml version="1.0" standalone="yes"?>
其它内容一样。是否有设置可以解决?

我现在想到的办法是读取时手工先写入这句话,然后写入xml数据,再ds.readxml,是否有更好的解决办法
byj2001329 2007-02-16
  • 打赏
  • 举报
回复
不是position的原因
cancerser 2007-02-15
  • 打赏
  • 举报
回复
MemoryStream ms =new MemoryStream();
ds.WriteXml(ms);
ms.Position=0;
//??
byj2001329 2007-02-15
  • 打赏
  • 举报
回复
如果用文件中转没有问题,我已经试过。
我是想知道我的那种做法,错误在哪里,或者用其他流也可以。
如果用文件,容易因为文件属性产生不能覆盖或删除等问题
cancerser 2007-02-15
  • 打赏
  • 举报
回复

ds.WriteXml(@"d:\test.xml");
ds.ReadXml(@"d:\test.xml");
byj2001329 2007-02-15
  • 打赏
  • 举报
回复
我用如下代码:
dim fs as System.IO.MemoryStream
fs = New System.IO.MemoryStream
ds.WriteXml(fs, XmlWriteMode.DiffGram)
mydata = New Byte(fs.Length) {}
fs.Read(mydata, 0, Convert.ToInt32(fs.Length))
Me.DataLogDs1.Sys_DataLog.AddSys_DataLogRow(mydata)
da.SqlDataAdapter1.Update(Me.DataLogDs1.Sys_DataLog)
fs.Close()
fs = Nothing
'至此保存完成

Me.DataLogDs1.Sys_DataLog.Clear()
da.SqlDataAdapter1.Fill(Me.DataLogDs1.Sys_DataLog)
mydata = Me.DataLogDs1.Sys_DataLog(1).Data '取得保存的数据
fs = New System.IO.MemoryStream
fs.Write(mydata, 0, mydata.Length)
fs.Flush()
Me.TestDs1.ReadXml(fs) 这句话出错,没有根元素
也就是保存没有问题,但不能再重新读取到dataset,是什么原因,如果这个方法不对,应该怎样做?最好能给出大略的代码,谢谢
byj2001329 2007-02-15
  • 打赏
  • 举报
回复
我主要是不想中间加文件这一步
yan63 2007-02-15
  • 打赏
  • 举报
回复
dataset - > xml dataset.writetoxml()
xml - > string xmldocument.outerxml
string -> ntext 参考常用的数据库操作代码
james_hunter 2007-02-15
  • 打赏
  • 举报
回复
这个……跟XML有关系吗?
直接当成文本文件读了放进去就是了。
string File.ReadAllText(string path)
用这个读出内容后放进数据库

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧