Я хотел бы обновить/изменить свои данные пользователя в таблице Employee в базе данных доступа.Оператор обновления не обновляет мои данные
Когда я заполняю поля, которые хочу изменить (имя, фамилия и т. Д.), Он дает мне данные обновлены, но когда я обновляю таблицу, данные не изменились - были обновлены.
Изменения я хочу выполнить, например - Изменить имя от Луки Тейлору и т.д.
Где я не так? Где ошибка в коде, и мой код для , добавляющий пользователей в базу данных, каким-то образом повлиял на мой код обновления?
Мой код для добавления пользователей почти такой же, как и для обновления, кроме запроса, и он отлично работает.
private void button2_Click(object sender, EventArgs e)
{
try
{
command.Connection = myConnection;
command.CommandText = "Update Employee set Name = @Name, LastName = @LastName, UserName = @UserName, Password = @Password, E_mail = @E_mail, Address = @Address WHERE ID = @ID";
command.Parameters.AddWithValue("@ID", userID.Text);
command.Parameters.AddWithValue("@Name", name.Text);
command.Parameters.AddWithValue("@LastName", lastName.Text);
command.Parameters.AddWithValue("@UserName", userName.Text);
command.Parameters.AddWithValue("@Password", pass.Text);
command.Parameters.AddWithValue("@E_mail", email.Text);
command.Parameters.AddWithValue("@Address", address.Text);
myConnection.Open();
command.ExecuteNonQuery();
MessageBox.Show("User updated!");
myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
код для добавления данных пользовательские
private void button1_Click(object sender, EventArgs e)
{
try
{
command.Connection = myConnection;
command.CommandText = "Insert into Employee (ID, Name, LastName, UserName, Password, E_mail, Address)" + "values (@ID, @Name, @LastName, @UserName, @Password, @E_mail, @Address)";
command.Parameters.AddWithValue("@ID", userID.Text);
command.Parameters.AddWithValue("@Name", name.Text);
command.Parameters.AddWithValue("@LastName", lastName.Text);
command.Parameters.AddWithValue("@UserName", userName.Text);
command.Parameters.AddWithValue("@Password", pass.Text);
command.Parameters.AddWithValue("@E_mail", email.Text);
command.Parameters.AddWithValue("@Address", address.Text);
myConnection.Open();
command.ExecuteNonQuery();
MessageBox.Show("User added!");
myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Спасибо за ответы и помощь
Я до сих пор нет решения для этого. Я пробовал так много всего, но я просто не получил правильного ответа.
Мой текущий код
try
{
OleDbConnection myConnection = new OleDbConnection("\\DATABASE PATH");
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = myConnection;
cmd.CommandText = "UPDATE Employees SET Name = @Name, LastName = @LastName, UserName = @UserName, Password = @Password, E_mail = @E_mail, Address = @Address WHERE ID = @";
cmd.Parameters.AddWithValue("@ID", userID.Text);
cmd.Parameters.AddWithValue("@Name", name.Text);
cmd.Parameters.AddWithValue("@LastName", lastName.Text);
cmd.Parameters.AddWithValue("@UserName", userName.Text);
cmd.Parameters.AddWithValue("@Password", pass.Text);
cmd.Parameters.AddWithValue("@E_mail", eMail.Text);
cmd.Parameters.AddWithValue("@Address", address.Text);
myConnection.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("User successfully added.");
myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Вы можете добавлять код, который вы используете, чтобы добавить пользователя? Может помочь выявить проблемы. –
уверенный факт, я только что редактировал мой пост – fkr
Вы создаете свои собственные идентификаторы? Вы создаете их вручную? Или БД должна автоматически генерировать их? Похоже, вы создаете свой собственный идентификатор. Вы применяете уникальность? –