c# - 为什么它在正确后不继续插入表格?
问题描述
专注于
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;
}
}
解决方案
问题是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();
}
推荐阅读
- talend - Talend - 在哪里可以找到 Talend 使用的内部库的源代码?
- android - Firebase/Firestore 未连接到互联网
- javascript - 如何在反应中避免匿名函数
- javascript - 从 ES6 映射中删除未定义而不会出现 Typescript 错误
- python-3.x - 在烧瓶应用程序中使用乌龟 orm 初始化数据库的正确方法是什么?
- assembly - 在装配中打印自定义错误
- c# - MVC 5 ASP.Net 切换语言
- python - 使用 if 语句将变量设置为 0
- angular-cli - 安装角度的问题!npm 在安装时显示 2 个警告
- email - 使用 SendGrid Mail API 确保最多一次语义