图书馆系统会员藏书
Member's books in possession in Library System
您好,我目前正在图书馆系统工作,我想查看特定成员拥有多少本书。
我想在给学生发书的时候给他们加一份。
我试过:
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();
此外,not recommended 对字符串使用 AddWithValue
。相反,您应该像这样准备值:
cmd.Parameters.Add("@studNumber", SqlDbType.VarChar, 30).Value= txtStudNumber.Text;
其中VarChar
是数据库中字段的类型,30
是数据库中字段的最大长度。从这段代码中,我希望看到 VARCHAR(30)
.
您好,我目前正在图书馆系统工作,我想查看特定成员拥有多少本书。
我想在给学生发书的时候给他们加一份。
我试过:
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();
此外,not recommended 对字符串使用 AddWithValue
。相反,您应该像这样准备值:
cmd.Parameters.Add("@studNumber", SqlDbType.VarChar, 30).Value= txtStudNumber.Text;
其中VarChar
是数据库中字段的类型,30
是数据库中字段的最大长度。从这段代码中,我希望看到 VARCHAR(30)
.