I have created a method that will insert any exceptions thrown into a table on "ExceptionLog" on MySql server.
ExceptionLog Table format
idExceptionLog int (AI) User (varchar 45) ErrorMessage (varchart 4000)
The problem is i keep getting the following error. Does anyone know why?
The SqlParameterCollection only accepts non-null SqlParameter type objects, not MySqlParameter objects.
private void showErrorBox(String errorMsg, MessageBoxButtons btnokshow)
    {
        MessageBox.Show(errorMsg, "FS Manager Error", MessageBoxButtons.OK);
        // write to DB
        string username = System.Environment.UserName.ToString();
        string timestamp = DateTime.Now.ToString();
          // Locals
        SqlConnection NasDB = null;
        SqlCommand inputError = null;
        int rows = 0;
        string spName = "ExceptionInsert";
        try
        {
            //Instantiate the DB connection setting the conn string
            using (NasDB = new SqlConnection(getConnectionString(ConnectionType.NAS)))
            {
                // Instantiate the command object that will fire the SP.
                using (inputError = new SqlCommand(spName, NasDB))
                {
                    // Finish setting up the command object
          开发者_开发问答          inputError.CommandType = CommandType.StoredProcedure;
                    // Set up the SP params.
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("ExceptionDate", MySql.Data.MySqlClient.MySqlDbType.DateTime, (1)));
                    inputError.Parameters[0].Value = timestamp;
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("User", MySql.Data.MySqlClient.MySqlDbType.VarChar, (45)));
                    inputError.Parameters[1].Value = System.Environment.UserName.ToString();
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("ExceptionMessage", MySql.Data.MySqlClient.MySqlDbType.VarChar, (4000)));
                    inputError.Parameters[2].Value = errorMsg;
                   
                    // Now that the SP is completely set up and ready to go open the conn and fire the SP.
                    inputError.Connection.Open();
                    rows = inputError.ExecuteNonQuery();
                    // Close ASAP
                    inputError.Connection.Close();
                }
            }
        }
        catch (Exception ex)
        {
            //showErrorBox(ex.ToString());
            throw ex;
        }
All the classes inside System.Data.SqlClient are used for SQL Server database & not mysql.
In your code, replace SqlCommand with MySqlCommand and SqlConnection with MySqlConnection.
EDIT: See this page for the classes, you could use in this case.
I have made some slight changes and am now getting the following error.
**
Input string was not in a correct
**
This is the Stored proceedure i using and the method.
-- --------------------------------------------------------------------------------
-- Routine DDL
DELIMITER $$
CREATE DEFINER=Admin@% PROCEDURE test(
        IN  p_idExceptionLog                INT(32)       , 
        IN  p_ExceptionDate                 DATETIME      , 
        IN  p_User                          VARCHAR(45)   , 
        IN  p_ExceptionMessage              VARCHAR(4000)  
 )
BEGIN
INSERT INTO ExceptionLog
     (
       id                    , 
       Date                  , 
       User                  , 
       Message                                      
     )
VALUES 
     ( 
       p_idExceptionLog                    , 
       p_ExceptionDate                     , 
       p_User                              , 
       p_ExceptionMessage                    
     ) ; 
END
  private void showErrorBox(String errorMsg, MessageBoxButtons btnokshow)
    {
        MessageBox.Show(errorMsg, "FS Manager Error", MessageBoxButtons.OK);
        // write to DB
        string username = System.Environment.UserName.ToString();
        string timestamp = DateTime.Now.ToString();
          // Locals
        MySqlConnection NasDB = null;
    //    MySqlCommand inputError1 = new MySqlCommand();
        MySqlCommand inputError = null;
               int rows = 0;
        string spName = "test";
        try
        {
            //Instantiate the DB connection setting the conn string
            using (NasDB = new MySqlConnection(getConnectionString(ConnectionType.NAS)))
            {
                // Instantiate the command object that will fire the SP.
                using (inputError = new MySqlCommand(spName, NasDB))
                {
                    // Finish setting up the command object
                    inputError.CommandType = CommandType.StoredProcedure;
                    // Set up the SP params.
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("p_idExceptionLog", MySql.Data.MySqlClient.MySqlDbType.Int32, (1)));
                    inputError.Parameters[0].Value = "";
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("p_ExceptionDate", MySql.Data.MySqlClient.MySqlDbType.DateTime, (1)));
                    inputError.Parameters[1].Value = timestamp;
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("p_User", MySql.Data.MySqlClient.MySqlDbType.VarChar, (45)));
                    inputError.Parameters[2].Value = System.Environment.UserName.ToString();
                    inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("p_ExceptionMessage", MySql.Data.MySqlClient.MySqlDbType.VarChar, (4000)));
                    inputError.Parameters[3].Value = errorMsg;
                    // Now that the SP is completely set up and ready to go open the conn and fire the SP.
                    inputError.Connection.Open();
                    rows = inputError.ExecuteNonQuery();
                    // Close ASAP
                    inputError.Connection.Close();
                }
            }
        }
        catch (Exception ex)
        {
            //showErrorBox(ex.ToString());
            throw ex;
        }
    }
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论