为什么它在正确后仍不能继续插入表中?

时间:2018-09-21 07:03:05

标签: c# sql

关注

  

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;
    }
}

1 个答案:

答案 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();
}