SQL DataTable不返回SQL DataSet值C#

时间:2015-11-04 21:38:33

标签: c# sql-server xml datatable ado.net

我正在尝试使用C#将XML文件导入SQL表。问题是SQL DataSet返回一个值但由于某种原因它没有将值放入SQL DataTable中。这是我的代码:

using(SqlConnection con = new SqlConnection(connString))
{
     ds.ReadXml(Server.MapPath("~/state.xml"));
     DataTable dt = new DataTable();

     dt = ds.Tables["state"];
     con.Open();

     using(SqlBulkCopy bc = new SqlBulkCopy(con))
     {
           bc.DestinationTableName = "StateIncorporated";
           bc.ColumnMappings.Add("name", "State");
           bc.ColumnMappings.Add("abbreviation", "Abbreviation");
           bc.ColumnMappings.Add("country_id", "Country_ID");
           bc.WriteToServer(dt);
     }
}

我在几个小时前使用了同样的精确代码和另一个XML文件,它运行得很好。这个新的XML文件的编写方式与之前的相同。当我在Visual Studio中调试并检查DataSet中的值时,它是正确的。所以一切都是正确但不起作用,这是令人沮丧的。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

ds.ReadXML(Server.MapPath("~state.xml"), XmlReadMode.InferSchema); 
dt = ds.Tables[0];