我想創建一個程序,它可以讀取5個XML文件並將數據存儲在Microsoft Access數據庫中。嘗試從XML文件中將值添加到MS Access數據庫
這是代碼:https://codepaste.net/ve4bkb
然而,當我運行的程序沒有什麼是被添加到數據庫中。在System.Data.dll中 在調試盒子「System.Data.OleDb.OleDbException」:
拋出該異常:當我關閉Form1,我得到
錯誤信息彈出。
我認爲Visual Studio正確地連接到數據庫,就像在服務器資源管理器下的數據連接一樣,我可以從數據庫中看到我的表完成所有標題。
我出現的代碼部分可以具有如下的問題:
for (int j = 0; j < timeList.Count; j++)
{
OleDbConnection con = new
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Kyle\Desktop\UAVbrook\brook\UAV\UAV\Readings.mdb;Persist Security Info=False");
String strSQL = "Insert into UAVData(Day,Time,Latitude,Longitude,Altitude,Temperature,Windspeed) values(1,@timeList[j].InnerText, @latList[j].InnerText, @longList[j].InnerText, @altList[j].InnerText, @tempList[j].InnerText, @windList[j].InnerText)";
OleDbCommand CmdSql = new OleDbCommand(strSQL, con);
CmdSql.CommandType = CommandType.Text;
CmdSql.Parameters.AddWithValue("@Day", 1);
CmdSql.Parameters.AddWithValue("@Time", Convert.ToInt64(timeList[j].InnerText));
CmdSql.Parameters.AddWithValue("@Latitude", Convert.ToDouble(latList[j].InnerText));
CmdSql.Parameters.AddWithValue("@Longitude", Convert.ToDouble(longList[j].InnerText));
CmdSql.Parameters.AddWithValue("@Altitude", Convert.ToDouble(altList[j].InnerText));
CmdSql.Parameters.AddWithValue("@Temperature", Convert.ToDouble(tempList[j].InnerText));
CmdSql.Parameters.AddWithValue("@Windspeed", Convert.ToDouble(windList[j].InnerText));
con.Open();
try
{
CmdSql.ExecuteNonQuery();
}
catch (Exception ex)
{
ex.Message.ToString();
}
finally
{
con.Close();
CmdSql.Dispose();
}
}
請張貼代碼作爲文本而不是作爲一個形象!在這裏顯示的(內部)例外中可能有更多信息。 –
檢查InnerException.Message的內容。你顯示的只是堆棧中引發的最後一個異常 – Steve
@PeterBons這應該是一個更好的粘貼:https://paste.ofcode.org/BNVEBuDD3ihEs93Jjrt9Vg – Kyle