被初始化,我不斷收到錯誤執行閱讀器:連接屬性還沒有在C#和Visual Studio
的ExecuteReader:連接屬性在C#和Visual Studio尚未初始化
。我嘗試了一些我研究過的解決方案,但他們似乎並沒有這樣做。
這裏是我的代碼:
public static int AddCustomer(Customer customer)
{
MySqlConnection connection = MySqlCommand.GetConnection();
string strInsertStatement =
"INSERT Customers (Name, Address, City, State, ZipCode) " +
"VALUES (@Name, @Address, @City, @State, @ZipCode)";
MySql.Data.MySqlClient.MySqlCommand insertCommand = new MySql.Data.MySqlClient.MySqlCommand(strInsertStatement);
insertCommand.Parameters.AddWithValue("@Name", customer.strFirstName);
insertCommand.Parameters.AddWithValue("@Address", customer.strStreetName);
insertCommand.Parameters.AddWithValue("@City", customer.strCity);
insertCommand.Parameters.AddWithValue("@State", customer.strState);
insertCommand.Parameters.AddWithValue("@ZipCode", customer.strPhoneNumber);
try
{
connection.Open();
insertCommand.ExecuteNonQuery();
string strSelectStatement = "SELECT IDENT_CURRENT('Customers') FROM Customers";
MySql.Data.MySqlClient.MySqlCommand selectCommand = new MySql.Data.MySqlClient.MySqlCommand(strSelectStatement, connection);
int customerID = Convert.ToInt32(selectCommand.ExecuteScalar());
return customerID;
}
catch (MySqlException ex)
{
throw ex;
}
finally
{
connection.Close();
}
}
我缺少的是發出此錯誤出現在哪裏?
使用了'MySqlConnection'和'MySqlCommand'這表明** **的MySQL作爲您的RDBMS - 但一切,你的參數的語法('@ ZipCode')和使用IDENT_CURRENT'的'似乎指向微軟** SQL Server ** - 所以哪一個你真的*想要在這裏談論????? –
這是用於班級作業。我的教授給我們的例子是一個SQL服務器例子,但我應該連接到MySQL服務器。我試圖重用類示例中的一些代碼,除非我真的不知道如何使它適用於MySQL服務器,因爲我們只使用SQL服務器進行學習。 – mace