【发布时间】:2015-08-20 15:14:02
【问题描述】:
我正在尝试将 xml 读取到数据库。我在代码的第 1 行收到 systemnullreferenceException 错误:
StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("File.xml"));
string connStr = ConfigurationManager.ConnectionStrings["SERVERCONNECTION" +
"connection timeout=30"].ConnectionString;
DataSet ds = new DataSet();
ds.ReadXml(reader);
string strxml = XDocument.Load(reader).ToString();
SqlConnection sqlconn = new SqlConnection(connStr);
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.Connection = sqlconn;
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.CommandText = "loadXML";
sqlcmd.Parameters.AddWithValue("@xmlstr", strxml);
sqlconn.Open();
sqlcmd.ExecuteNonQuery();
sqlconn.Close();
【问题讨论】:
-
假设这是一个 Web 应用程序,
File.xml是否位于根文件夹中? -
是的,它位于 Visual Studio 根文件夹中。
-
嵌套函数调用总是一个坏主意。您需要在 使用它之前测试此调用的结果:
System.Web.HttpContext.Current.Server.MapPath("File.xml")
标签: c# sql asp.net sql-server xml