我有访问数据库,我尝试使用C#Windows表单应用程序将用户添加到我的数据库中。
当我添加新用户时,它说用户已成功添加,当我转到数据连接 - 数据库.accdb表 - 员工(在 C# 中)时,新用户被添加并在那里。
但是当我转到我的项目文档/bin/debug/数据库时,那里没有新用户。为什么?为什么我在 c# 中有新用户,为什么调试/数据库中没有用户,我该如何解决这个问题?
这是我的代码
private void button1_Click(object sender, EventArgs e)
{
try
{
OleDbConnection myConnection = new OleDbConnection("//CONNECTION PATH);
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = myConnection;
cmd.CommandText = "Insert into Employees (Name, LastName, UserName, Password, E_mail, Address)" + "values(@Name, @LastName, @UserName, @Password, @E_mail, @Address)";
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);
}
}
将 Access 数据库文件dataBase.accdb
保存在其他文件夹路径中,而不是document/bin/debug/database
。由于每次构建后,数据库文件的新副本都会bin
文件夹中获取副本,因此每次成功构建后最后的更改都会丢失。
使用数据库文件检查类似 SO 问题.mdf
。
替换
cmd.CommandText = "Insert into Employees (Name, LastName, UserName, Password, E_mail, Address)" + "values(@Name, @LastName, @UserName, @GPassword, @E_mail, @Address,)";
跟
cmd.CommandText = "Insert into Employees (Name, LastName, UserName, Password, E_mail, Address) values(@Name, @LastName, @UserName, @GPassword, @E_mail, @Address)";