2015-10-10 40 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

相关问题