**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
6小时前关门了。
Improve this question
我写代码保存发票事件,这里是我的代码,我使用listView保存产品信息。我保存客户和发票信息到sql服务器
private void btn_saveBill_Click(object sender, EventArgs e)
{
if (listViewBill.Items.Count > 0)
{
string connectionString = "Data Source=LAPTOP-494HO5MI\\SQLEXPRESS;Initial Catalog=MobileManagement;Integrated Security=True";
SqlConnection conn = new SqlConnection(connectionString);
try
{
using (SqlCommand cmd = new SqlCommand("USP_InsertCustomer", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Name", txt_Name.Text);
cmd.Parameters.AddWithValue("@PhoneNumber", txt_num.Text);
cmd.Parameters.AddWithValue("@ID", txt_ID.Text);
cmd.Parameters.AddWithValue("@Address", txt_addr.Text);
conn.Open();
cmd.ExecuteNonQuery();
}
//USP ThemHD
using(SqlCommand cmd1 = new SqlCommand("USP_InsertBill", conn))
{
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.AddWithValue("@ID", SqlDbType.VarChar).Value = txt_ID.Text;
cmd1.Parameters.AddWithValue("@Total", SqlDbType.Int).Value = int.Parse(txtTotal.Text);
conn.Open();
cmd1.ExecuteNonQuery();
}
for (int i = 0; i < listViewHoaDon.Items.Count; i++)
{
SqlCommand cmdCT = new SqlCommand("USP_Details", conn);
cmdCT.CommandType = CommandType.StoredProcedure;
cmdCT.Parameters.AddWithValue("@ProductName", SqlDbType.VarChar).Value = listViewBill.Items[i].SubItems[0].Text;
cmd.ExecuteNonQuery();
}
conn.Close();
MessageBox.Show("Create Successfully");
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}
else
{
MessageBox.Show("Please add product");
}
}
也许我在一些商店程序上错了。
请指出错误并为我改正。我是C#的新手,正在尝试做一个小项目来学习
1条答案
按热度按时间kmynzznz1#
如果你打开你的连接你必须关闭它,但当你使用语句你不必使用conn.open();如果你使用它,你必须使用conn.Close();
根据你的错误,连接是打开的,然后用conn.Close()关闭它;