关注
cmd.Parameters.Add(“ @ Jumlah”,结果);
Im试图使用sqlinsertcommand为每个文本框= 1行将多个数据行插入到单个按钮的表中,如果每个textbox.text> 0,则必须运行sqlcommand,然后执行命令
为什么它变为0后会停止下一个命令并停止插入。我希望它继续下一次插入
但仅在每个文本框的值> 0时插入。
如果其0跳到下一个插入
我该怎么做?对不起,我的英语。.谢谢您的帮助!
foreach (TextBox txt in pnl_Jus.Controls.OfType<TextBox>().ToArray())
{
int result = 0;
if (int.TryParse(txtJusM.Text, out result) && result > 0)
{
con.Open();
SqlCommand cmd13 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con);
cmd13.Parameters.Add("@idStruk", lblidstruk.Text);
cmd13.Parameters.Add("@Product_Name", chkminum6.Text);
cmd13.Parameters.Add("@Jumlah", result);
cmd13.Parameters.Add("@TotalHarga", Tjmelon);
cmd13.Parameters.Add("@Tanggal_Transaksi", lbldate.Text);
cmd13.ExecuteNonQuery();
con.Close();
return;
}
if (int.TryParse(txtJusA.Text, out result) && result > 0)
{
con.Open();
SqlCommand cmd14 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con);
cmd14.Parameters.Add("@idStruk", lblidstruk.Text);
cmd14.Parameters.Add("@Product_Name", chkminum7.Text);
cmd14.Parameters.Add("@Jumlah", result);
cmd14.Parameters.Add("@TotalHarga", Tjalp);
cmd14.Parameters.Add("@Tanggal_Transaksi", lbldate.Text);
cmd14.ExecuteNonQuery();
con.Close();
return;
}
if (int.TryParse(txtJusJ.Text, out result) && result > 0)
{
con.Open();
SqlCommand cmd15 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con);
cmd15.Parameters.Add("@idStruk", lblidstruk.Text);
cmd15.Parameters.Add("@Product_Name", chkminum8.Text);
cmd15.Parameters.Add("@Jumlah", result);
cmd15.Parameters.Add("@TotalHarga", Tjj);
cmd15.Parameters.Add("@Tanggal_Transaksi", lbldate.Text);
cmd15.ExecuteNonQuery();
con.Close();
return;
}
if (int.TryParse(txtJusS.Text, out result) && result > 0)
{
con.Open();
SqlCommand cmd16 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con);
cmd16.Parameters.Add("@idStruk", lblidstruk.Text);
cmd16.Parameters.Add("@Product_Name", chkminum9.Text);
cmd16.Parameters.Add("@Jumlah", result);
cmd16.Parameters.Add("@TotalHarga", Tjs);
cmd16.Parameters.Add("@Tanggal_Transaksi", lbldate.Text);
cmd16.ExecuteNonQuery();
con.Close();
return;
}
}
答案 0 :(得分:2)
问题是return
。删除它们。但是,在进行此操作时,您也可以重用连接,并将所有内容适当地放在using
using (SqlConnection conn = new SqlConnection(""))
{
conn.Open();
int result = 0;
if (int.TryParse(txtJusM.Text, out result) && result > 0)
{
using (SqlCommand cmd13 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con))
{
...
}
}
if (int.TryParse(txtJusA.Text, out result) && result > 0)
{
using (SqlCommand cmd14 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con))
{
...
}
}
if (int.TryParse(txtJusJ.Text, out result) && result > 0)
{
using (var cmd15 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con))
{
...
}
}
if (int.TryParse(txtJusS.Text, out result) && result > 0)
{
using (var cmd16 = new SqlCommand("INSERT INTO Transaksi (idStruk,Product_Name,Jumlah,TotalHarga,Tanggal_Transaksi) VALUES (@idStruk,@Product_Name,@Jumlah,@TotalHarga,@Tanggal_Transaksi)", con))
{
...
}
}
conn.Close();
}