c# - 图书馆系统所拥有的会员书籍
问题描述
您好,我目前正在研究图书馆系统,我确实想查看特定成员拥有多少本书。
每当我向学生发行一本书时,我都想为他们添加一份副本。
我努力了:
public void StudentPossession()
{
cm = new SqlCommand("INSERT INTO tblStudent(stCopies) VALUES (@stCopies)", cn);
cm.Parameters.AddWithValue("@stCopies", txtCopies.Text);
cm.ExecuteNonQuery();
}
但它不会插入成员行,而是显示
|-------------|---------------|------------|
| ID | studNumber | Copies |
|-------------|---------------|------------|
| 1 | 34543534 | NULL |
|-------------|---------------|------------|
| 2 | NULL | 1 |
|-------------|---------------|------------|
我也试过:
cm = new SqlCommand("INSERT INTO tblStudent(stCopies) VALUES (@stCopies) WHERE studNumber ='" + txtStudNumber.Text + "'", cn);
但也不起作用。
我不知道如何解决这个问题,所以任何帮助将不胜感激。或者无论如何如何实现这一目标?
解决方案
如果要插入新记录:
cm = new SqlCommand("INSERT INTO tblStudent (studNumber, stCopies) VALUES (@studNumber, @stCopies)", cn);
cm.Parameters.AddWithValue("@stCopies", txtCopies.Text);
cm.Parameters.AddWithValue("@studNumber", txtStudNumber.Text);
cm.ExecuteNonQuery();
如果要更新现有记录,而不是插入新记录,请使用以下代码:
cm = new SqlCommand("UPDATE tblStudent SET stCopies = @stCopies WHERE studNumber = @studNumber", cn);
cm.Parameters.AddWithValue("@stCopies", txtCopies.Text);
cm.Parameters.AddWithValue("@studNumber", txtStudNumber.Text);
cm.ExecuteNonQuery();
此外,不建议用于AddWithValue
字符串。相反,您应该像这样准备值:
cmd.Parameters.Add("@studNumber", SqlDbType.VarChar, 30).Value= txtStudNumber.Text;
whereVarChar
是数据库中字段的类型,是数据库中字段30
的最大长度。我希望从这段代码中看到VARCHAR(30)
.
推荐阅读
- python-3.x - 无法在 Win 10 和 Python 3.9.2 上安装/启用调试器?
- pyomo - Pyomo 错误:“未定义名称‘域’”
- modelica - 分体式 Dymola
- git - 如何从git中的提交中删除一些文件?
- python - 插入较小的直方图箱(Pandas / Plotly)
- analytics - AWS Kinesis 数据分析
- javascript - 我在以下代码中遇到错误标识符或关键字不能立即跟随数字文字。在我的反应本机代码中
- xml - How to change get third position of string on XML (Using substring)
- django - Adding a search field for Token section in Django Admin
- javascript - How to hold a value and pass it while creating dynamic textbox on html/javascript