2017-06-29 55 views
0

正如標題所說,我試着寫一些事先準備好的聲明上的Visual Studio 2017年 但是從我的程序的時候,我有一個例外,被稱爲入門連接屬性尚未設置錯誤

系統.InvalidOperationException:'連接屬性未設置爲 '。

下面是相關的代碼:

namespace Sequence 
{ 
    class Database 
    { 
    private MySqlCommand cmd; 
    MySql.Data.MySqlClient.MySqlConnection conn; //new connection 

    public void Connect() 
    { 
     string myConnectionString; //connection String 

     myConnectionString = "server=127.0.0.1;uid=root;" + 
    "pwd=;database=internship;"; 

     try 
     { 
      conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); 
      conn.Open(); 
     } 
     catch (MySql.Data.MySqlClient.MySqlException ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 


    public void Disconnect() 
    { 
     try 
     { 
      conn.Close(); 
     } 
     catch (MySql.Data.MySqlClient.MySqlException ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

    public void AddData() 
    { 
     cmd = new MySql.Data.MySqlClient.MySqlCommand(); 
     //Connecting to database 
     Connect(); 
     try 
     { 
      //Prepare a statement 
      cmd.CommandText = "INSERT INTO storing VALUES(@longitude, @latitude, @status, @path)"; 
      cmd.Prepare(); 
      //Adding values 
      cmd.Parameters.AddWithValue("@longitude", 0.5); 
      cmd.Parameters.AddWithValue("@latitude", 0.5); 
      cmd.Parameters.AddWithValue("@status", "false"); 
      cmd.Parameters.AddWithValue("@path", "C:\\temp\\sequence"); 
      //Executes the Query 
      cmd.ExecuteNonQuery(); 
      //Writes in Console 
      Console.WriteLine("Line added successfully"); 
     } 
     catch (MySql.Data.MySqlClient.MySqlException ex) 
     { 
      MessageBox.Show("Error " + ex.Number + " has occured: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 



     } 

    } 
} 

這是我的類,它連接到數據庫。 我有一個主程序,我剛纔寫的:

static class Program 
{ 
    [STAThread] 
    static void Main() 
    { 
     Database db = new Database(); 
     db.Connect(); 
     db.AddData(); 
     db.Disconnect(); 
    } 
} 

爲什麼我得到這個例外,任何想法?

我跟着這個鏈接教程: https://dev.mysql.com/doc/connector-net/en/connector-net-programming-prepared-preparing.html

在此先感謝

回答

2

你沒有設置你的命令的連接屬性:雖然它建議使用

cmd.Connection = conn; 

using-statement提供了一個方便的語法,以確保正確使用IDisposable對象SqlConnection。它也將關閉連接

+0

謝謝! 我忘了這條線耶,非常感謝! 我現在有一個錯誤,但它更容易解決:我有一個自動增量列,並且我不知道在準備好的語句中寫什麼來使其工作。 我會在網上檢查這個。 –

相關問題