【发布时间】:2020-07-07 02:01:11
【问题描述】:
我在文本框 2 中有这段代码,它将文本框 1 和 2 的值相乘,将结果添加到文本框 3:
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox3.Text = Convert.ToString(Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox2.Text));
}
当我通过这个在数据库中插入数据时
code private void button1_Click(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Insert into Receipts(Qty,ItemName,Price,Amount) values('" + textBox2.Text + "','" + textBox4.Text + "','" + textBox1.Text + "','" + textBox3.Text + "')";
cmd.ExecuteNonQuery();
con.Close();
this.receiptsTableAdapter.Fill(this.shopDataSet.Receipts);
textBox4.Clear();
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
//MessageBox.Show("Data Inserted !");
}
我在 textBox2.Clear() 上遇到错误; (异常处理但数据插入成功) 没有这个程序可以正常工作,
textBox4.Clear();
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
我想清除文本框,我只在 textbox2 上遇到错误,其中包含将文本框 1 和 2 的值相乘的代码将结果添加到文本框 3。
谢谢:)
【问题讨论】:
-
始终使用参数化 sql 并避免字符串连接向 sql 语句添加值。这可以缓解 SQL 注入漏洞并确保将值正确传递给语句。请参阅 How can I add user-supplied input to an SQL statement? 和 Exploits of a Mom。
-
异常可能源自
textBox2_TextChanged,并且很可能是 FormatException,因为您正在尝试将空字符串转换为 int。调试您的代码,以更好地了解如何解决异常和意外结果。 -
我不是调试等方面的专家。你能分享一下解决方案吗?
标签: c# visual-studio winforms desktop-application windows-forms-designer