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连接错误信息

这个错误很明显:SQL Server提供程序不知道Exception兼容的列类型

如果您只想存储异常的字符串表示形式:

cmd.Parameters.AddWithValue("@ex", ex.ToString());

我将使用

cmd.Parameters.Add("@ex", SqlDbType.NVarChar).Value