2015-10-10 6 views
0

Всякий раз, когда я запускаю мой код, он будет возвращать эту конкретную ошибкуПочему я получаю сообщение: фатальная ошибка во время выполнения команды

MySqlException был необработанное кодом пользователя: фатальная ошибка во время выполнения команды

, который указан на

long count = (long)cmd1Database.ExecuteScalar(); 

В чем проблема? Я совершенно не знаком с C#. Любая помощь приветствуется.

string constring = "Database=chtbuster;Data Source=localhost;User Id=root;Password='';"; 
string count1 = "SELECT COUNT(hostName) FROM chtbuster.processtable WHERE hostName = @machineName; "; 
using (MySqlConnection conDataBase = new MySqlConnection(constring)) 
{ 
    conDataBase.Open(); 

    string insertprocess = "INSERT INTO chtbuster.processtable(processID,processFileName,processName,processPath,hostName) VALUES (@processID, @fileName, @exeFile, @filePath, @machineName);"; 
    MySqlCommand cmd2Database = new MySqlCommand(insertprocess, conDataBase); 

    cmd2Database.Parameters.AddWithValue("@processID", processID); 
    cmd2Database.Parameters.AddWithValue("@filename", fileName); 
    cmd2Database.Parameters.AddWithValue("@exeFile", exeFile); 
    cmd2Database.Parameters.AddWithValue("@filePath", filePath); 
    cmd2Database.Parameters.AddWithValue("@machineName", machineName); 
    cmd2Database.ExecuteNonQuery(); 

    //string checkname = "SELECT hostName FROM chtbuster.hostnametable WHERE ([email protected]); "; 
    MySqlCommand cmd1Database = new MySqlCommand(count1, conDataBase); 
    long count = (long)cmd1Database.ExecuteScalar(); 
    if (count == 1) 
    { 
     listBox1.Items.Add(new MyListBoxItem(Color.Gold, count + "st warning" + machineName + " has opened " + fileName + " from path " + filePath)); 
     if(machineName == pc1.Text) 
     { 
      pc1.Image = Image.FromFile("../../firstwarning.png"); 
     } 
     else if (machineName == pc2.Text) 
     { 
      pc2.Image = Image.FromFile("../../firstwarning.png"); 
     } 
     else 
     { 
      pc3.Image = Image.FromFile("../../firstwarning.png"); 
     } 

    } 
    else if (count == 2) 
    { 
     listBox1.Items.Add(new MyListBoxItem(Color.Orange, count + "nd warning" + machineName + " has opened " + fileName + " from path " + filePath)); 
     if (machineName == pc1.Text) 
     { 
      pc1.Image = Image.FromFile("../../secondwarning.png"); 
     } 
     else if (machineName == pc2.Text) 
     { 
      pc2.Image = Image.FromFile("../../secondwarning.png"); 
     } 
     else 
     { 
      pc3.Image = Image.FromFile("../../secondwarning.png"); 
     } 
    } 
    else if (count == 3) 
    { 
     listBox1.Items.Add(new MyListBoxItem(Color.Firebrick, count + "rd warning" + machineName + " has opened " + fileName + " from path " + filePath)); 
     if (machineName == pc1.Text) 
     { 
      pc1.Image = Image.FromFile("../../thirdwarning.png"); 
     } 
     else if (machineName == pc2.Text) 
     { 
      pc2.Image = Image.FromFile("../../thirdwarning.png"); 
     } 
     else 
     { 
      pc3.Image = Image.FromFile("../../thirdwarning.png"); 
     } 
    } 
    else { listBox1.Items.Add(new MyListBoxItem(Color.Gray, count + "th warning" + machineName + " has opened " + inputfile + " from path " + filePath)); } 
    conDataBase.Close(); 
+0

Вы забыли установить параметр для @machineName на командную строку? – Sami

ответ

1

Вы забыли добавить параметр, необходимый для команды cmd1Database

---- 
string count1 = @"SELECT COUNT(hostName) FROM chtbuster.processtable 
        WHERE hostName = @machineName; "; 
MySqlCommand cmd1Database = new MySqlCommand(count1, conDataBase); 
cmd1Database.Parameters.AddWithValue("@machineName", machineName); 
long count = (long)cmd1Database.ExecuteScalar(); 
---- 
+0

Ах спасибо за быстрый ответ сэр! Теперь все работает! – charlie9495

+1

Не совсем связано с вашей проблемой, но стоит прочитать [Можем ли мы перестать использовать AddWithValue уже?] (Http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue -уже /) – Steve

+0

Я посмотрю, сэр. Еще раз спасибо – charlie9495

Смежные вопросы