Если вы хотите вставить новую запись:
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;
Где VarChar
- это тип поля в базе данных, а 30
- максимальная длина поля в базе данных. Из этого кода я бы ожидал увидеть VARCHAR(30)
.