首页 > 解决方案 > 为什么它在正确后不继续插入表格?

问题描述

专注于

cmd.Parameters.Add("@Jumlah", 结果);

我试图在单个按钮中将多个数据行插入表中,每个文本框 = 1 行的 sqlinsertcommand,如果每个 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;
    }
}

标签: c#sql

解决方案


问题是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();
}

推荐阅读