【问题标题】:XML to SQL via Datasets通过数据集 XML 到 SQL
【发布时间】:2012-01-15 01:01:37
【问题描述】:

我有一个 XML 文档和一个 SQL (MS 2005) 表,从中我生成了两个数据集。数据集具有不同的模式,SQL 表基本上是 XML 的子集。我将数据按如下方式输入数据库:

dataSet.ReadXml(xmlStream);
var ta = new TableAdapter();
foreach( var r in dataSet.Tables["MyTable"].Rows )
{
ta.Insert(  DateTime.Parse(r["date1"].ToString()), 
        int.Parse(r["num"].ToString() ), 
        DateTime.Parse(r["date2"].ToString()),
        DateTime.Parse(r["date3"].ToString())
      );
}

我很想将完整的 XML 传递给数据库并在那里进行工作,但我确信必须有一种更简洁的方法来映射两个数据集之间的列并在代码中复制数据(尤其是必须将 'datetime' 转换为字符串并再次转换回 'datetime')。有人有什么建议吗?

【问题讨论】:

    标签: c# .net sql sql-server-2005 dataset


    【解决方案1】:

    您可以创建一个 Hashtable 来将对应的数据表列类型存储到 例如

      TypeMap = new Hashtable();
      TypeMap[typeof(UInt64)] = SqlInt64
      TypeMap[typeof(Boolean)] = SqlBoolean                    
      ...
    

    并为例如GetTypeForData(DataColumn column, object value) 创建一个函数 并返回 System.Data.SqlTypes

    没有代码,只有一个想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多