0
我的同学说我有很多连接,但我尝试删除并添加一些连接,但没有任何作用。我总是得到“连接必须有效并且打开”或者“连接已经打开”以及“在命令执行期间遇到致命错误”,我希望你们能帮助我。连接必须有效并打开才能保存到MySql
这是我的储蓄部分,我把它放在了transact_button
,所以在收银员计算出物品后,信息必须在mysql
数据库中,这样我才能创建一个水晶报告。
try
{
string id = products_lv.SelectedItems[0].Text;
string name = products_lv.SelectedItems[0].SubItems[1].Text;
string price = products_lv.SelectedItems[0].SubItems[2].Text;
string qty = products_lv.SelectedItems[0].SubItems[4].Text;
sql_connect.Close();
sql_connect.Open();
sql_command = new MySqlCommand("insert into transaction_cashier(orderid,productid,productname,price,quantity,total,vat,subitems,payment,change) values (@orderid,@produtid,@productname,@price,@quantity,@total,@vat,@subitems,@payment,@change)");
sql_command.ExecuteReader();
sql_connect.Close();
sql_connect.Open();
sql_command.Connection = sql_connect;
sql_command.Parameters.AddWithValue("@orderid", id_num.Text);
sql_command.Parameters.AddWithValue("@productid", id.ToString());
sql_command.Parameters.AddWithValue("@productname", name.ToString());
sql_command.Parameters.AddWithValue("@price", price.ToString());
sql_command.Parameters.AddWithValue("@quantity", qty.ToString());
sql_command.Parameters.AddWithValue("@vat", vat_txt.Text);
sql_command.Parameters.AddWithValue("@subitems", subitems_txt.Text);
sql_command.Parameters.AddWithValue("@payment", payment_txt.Text);
sql_command.Parameters.AddWithValue("@change", change_txt.Text);
sql_connect.Open();
sql_command.ExecuteNonQuery();
sql_connect.Close();
MessageBox.Show("Saved");
}
catch (Exception ex)
{
MessageBox.Show("Transaction cashier error: " + ex.Message);
}
}
希望你们能帮助我,并且非常感谢。
你真的有这么多的连接,尝试打开一次,并最终关闭一次。 – Kuroi