我想在访问数据库的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
您是否正在创建自己的ID?你是否手动生成它们?或者DB应该自动生成它们?它看起来好像你正在创建你自己的ID。你是否执行唯一性? –