我有访问数据库,我尝试使用c#windows form app将用户添加到我的数据库中。
当我添加新用户时,它会显示用户成功添加,当我转到DataConnections - dataBase.accdb - tables - employees(在c#中)时,会添加新用户并且在那里。< / p>
但是当我转到我的项目文档/ bin / debug / database时,那里没有新用户。这是为什么?为什么我在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);
}
}
答案 0 :(得分:1)
将Access数据库文件dataBase.accdb
保留在其他文件夹路径中,而不是document/bin/debug/database
。因为在每次构建之后,数据库文件的新副本都会在bin
文件夹中获得副本,因此在每次成功构建之后,最后的更改都会丢失
使用.mdf
数据库文件检查simillar SO question。
答案 1 :(得分:0)
替换
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)";