Я пытаюсь обновить запись базы данных с указанием id
в моей таблице, когда пользователи вводят свой идентификационный номер в textBox
.
На данный момент он обновляет, но обновляет все записи в моей таблице, кроме записи, содержащей идентификационный номер пользователя.
Это код, который я сейчас использую:
private void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=DEVELOPMENT\ACCESSCONTROL;Initial Catalog=ACCESSCONTROL;User ID=sa;Password=P@55w0rd123");
SqlCommand check_User_Name = new SqlCommand("SELECT Id FROM NewVisitor WHERE (IDNumber = @IDNumber)", con);
check_User_Name.Parameters.AddWithValue("@IDNumber", idNumber_TxtBox.Text);
con.Open();
int UserExist = (int)check_User_Name.ExecuteScalar();
if (UserExist > 0)
{
var connetionString = @"Data Source=DEVELOPMENT\ACCESSCONTROL;Initial Catalog=ACCESSCONTROL;User ID=sa;Password=P@55w0rd123";
var sql = "UPDATE NewVisitor SET PersonVisit = @PersonVisit, PurposeVisit = @PurposeVisit, Duration = @Duration, Disclaimer = @Disclaimer";
try
{
using (var connection = new SqlConnection(connetionString))
{
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.Add("@PersonVisit", SqlDbType.NVarChar).Value = personVisiting_TxtBox.Text;
command.Parameters.Add("@PurposeVisit", SqlDbType.NVarChar).Value = purposeOfVisit_CMBox.SelectedItem;
command.Parameters.Add("@Duration", SqlDbType.Date).Value = duration_dateTimePicker1.Value.Date;
command.Parameters.Add("@Disclaimer", SqlDbType.NVarChar).Value = disclaimer_CHKBox.Checked;
connection.Open();
command.ExecuteNonQuery();
}
}
}
Во всей таблице есть еще много полей, но хотелось бы просто обновить вышеуказанные поля в пределах этого конкретного идентификатора.
Спасибо