Script throws MySqlException with syntax error message

283 Views Asked by At

I want to save the system log in MySQL database and this is my code

EventRecord record;
while ((record = reader.ReadEvent()) != null)
{
    using (record)
    {
        Console.WriteLine("{0} {1}: {2} : {3}   {4}", record.TimeCreated, record.LevelDisplayName, record.FormatDescription(), record.Id, record.LogName);
        var time = record.TimeCreated;
        String Displayname = record.LevelDisplayName;
        String Description = record.FormatDescription();
        String log_name = record.LogName;
        int id = record.Id;

          string server;
          string database;
          string uid;
          string password;

        MySqlConnection conn;
        server = "localhost";
        database = "logfile";
        uid = "root";
        password = " ";

        string connetionString;
        connetionString = "SERVER=" + server + ";" + "DATABASE=" +database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";SSL Mode=none;";
        conn = new MySqlConnection(connetionString);
        string insertQuery = "insert into syslog (Time,Record_d,log_name,Display_Name,Description)values (@ time,@id,@log_name,@Displayname,@Description)";
        conn.Open();
        MySqlCommand cmd = new MySqlCommand(insertQuery, conn);
            cmd.Parameters.AddWithValue("@time", record.TimeCreated);
            cmd.Parameters.AddWithValue("@id", record.Id);
            cmd.Parameters.AddWithValue("@log_name", record.LogName);
            cmd.Parameters.AddWithValue("@Displayname", record.LevelDisplayName);
            cmd.Parameters.AddWithValue("@Description", record.FormatDescription());
            cmd.ExecuteNonQuery();
            conn.Close();

My script end with the following error:

MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's success status was true. The last boot's success status was true.')' at line 1'

1

There are 1 best solutions below

1
JohnMcClane On BEST ANSWER

Remove space of @ time and add space before "values", that should do the trick