SQL连接错误信息
本文关键字:信息 错误 连接 SQL | 更新日期: 2023-09-27 17:51:08
我试图在抛出异常时将错误消息记录到数据库。其想法是将异常记录到数据库中,以便稍后对其进行调查。
这是代码:
private void btnGroundMVC_Click(object sender, RoutedEventArgs e)
{
try
{
Process.Start(Library.paiplib.GroundMVC);
}
catch (Exception ex)
{
SqlConnection sqlconn = new SqlConnection(connectionString);
String timeStamp = Library.staticlib.getTimestamp(DateTime.Now);
SqlCommand cmd = new SqlCommand(errorlog, sqlconn);
cmd.Parameters.AddWithValue("@timeStamp", timeStamp);
cmd.Parameters.AddWithValue("@ex", ex);
sqlconn.Open();
cmd.ExecuteNonQuery();
sqlconn.Close();
MessageBox.Show(Library.paiplib.error + ex,"Error Loading PAIP", MessageBoxButton.OK,MessageBoxImage.Error);
}
这是调试时的错误信息:
"类型为'System '的未处理异常。ArgumentException'发生在System.Data.dll
附加信息:不存在对象类型的映射系统。一个已知托管提供程序本机类型的ArgumentException。"
表示在cmd.ExecuteNonQuery();
这个错误很明显:SQL Server提供程序不知道Exception
兼容的列类型
如果您只想存储异常的字符串表示形式:
cmd.Parameters.AddWithValue("@ex", ex.ToString());
我将使用
cmd.Parameters.Add("@ex", SqlDbType.NVarChar).Value