[英]Getting the connection property has not been set error
如標題中所述,我嘗試在Visual Studio 2017上編寫一些准備好的語句。但是在啟動程序時,我有一個異常,稱為
System.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/zh/connector-net-programming-prepared-preparing.html
提前致謝
您沒有設置命令的連接屬性:
cmd.Connection = conn;
盡管建議使用using-statement
,該using-statement
提供方便的語法,以確保正確使用IDisposable
對象(如SqlConnection
。 也會關閉連接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.