.net - Dataset.ReadXml() 是否将其表中的所有列数据类型设置为字符串?

标签 .net asp.net vb.net ado.net

以下代码从 Web 服务获取 xml 数据,然后使用 ReadXml 方法读取数据集。此 Xml 具有每个表行的 ID 和 MyDate 标记(因此 table(0) 将具有 ID 和 MyDate 列),并且此 Xml 数据没有与之关联的架构。第一次加载页面时,它按 ID 按升序排序。它一直工作到 ID 为 999。当下一个 ID 为 1000 时,即使在 ID asc 中,1000 在数据网格中也显示在 999 之前。

我想确认,当使用 ReadXml 加载数据集时,表中的所有列都被视为字符串,即使它们是数字或日期,这就是为什么在 ID asc 顺序中 1000 在 999 之前。

此外,MyDate 标记的日期格式为“01/31/2011”(mm/dd/yyyy),而且日期排序似乎工作正常。即使数据集表 MyDate 列的类型为字符串(假设我的上述陈述是正确的),按日期排序是否始终有效?

我的上述两个假设正确吗?

 stream = New System.IO.StringReader(XML data returned from web service)
  With dataset
  .ReadXml(stream)
  dvView = .Tables(0).DefaultView
  dvView.Sort = "ID asc" 'ID is number
  With **datagrid** 'it is DataGrid
        .DataSource = dvView 
        .DataKeyField = "ID" 'this is number
        .DataBind()  

最佳答案

使用以下内容:

DataSet1.ReadXml(stringReader, XmlReadMode.InferTypedSchema);

关于.net - Dataset.ReadXml() 是否将其表中的所有列数据类型设置为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041036/

相关文章:

c# - AutoMapper:如何在展平时使用字符串参数 MapFrom

c# - 如果 C# 中的文件夹中存在文件名更改

c# - 正则表达式应用 - 匹配百分比

Asp.net Webform 显示警报和重定向

c# - VB.NET 中 Program.cs 的等价物是什么

vb.net - VS2015 Goto Definition 显示元数据而不是对象浏览器

javascript - 如何在使用 Javascript/C# 在 CKEditor 中键入特定字符(如 Enter 键或 Esc 键)时显示警告消息?

c# - OutputCache 序列化并发请求

javascript - 如何从代码隐藏但仅在页面加载后执行javascript函数

asp.net - BC30057 : To many arguments