【发布时间】:2018-01-29 13:31:21
【问题描述】:
我有 3 个表:Student、Books 和 Borrows:
- 学生(id、姓名、FK_borrow)
- 图书(id、名称、nbre_books_available int)
- 借阅(borrow_from、borrow_to、FK_student、FK_books)
我想在检查nbre_books_available列是否不为0后,将值插入到表Borrows中,并更新它。
这是我的尝试
private void fillborrow()
{
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into borrows Values ('"+dateTimePicker1.Value+"','"+dateTimePicker2.Value+"',"+int.Parse(textBox1.Text)+","+int.Parse(textBox2.Text)+")" ;
cn.Open();
int a = cmd.ExecuteNonQuery();
cn.Close();
if (a == 0)
{
MessageBox.Show("Erreur");
}
else
{
MessageBox.Show("Ajouter avec success");
}
cmd.CommandText = "update books set nbre_current = nbre_current - 1 where CodeO = " + int.Parse(textBox1.Text);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
我不知道如何添加检查 nbre_books_available 列是否为 0 的请求
【问题讨论】:
-
不要连接+values+into+strings+like+that+to+make+SQL。它容易出错,并且会产生可怕的代码。始终使用 SQL 参数。请阅读How to Ask 并采取tour
-
感谢您的评论我还没有使用 SQL 参数,但我仍在从一些教程中学习,其中大多数使用连接,是的,看起来不太好,我一定会得到进入参数
-
@tedman 你必须进入参数;它不需要太难——像“Dapper”这样的工具让它变得非常简单;没有参数:您的系统在几分钟内就可以在互联网上烤面包
标签: c# sql sql-server