1

我有访问数据库,我尝试使用 c# windows form 应用程序将用户添加到我的数据库中。

当我添加新用户时,它显示用户已成功添加,当我转到 DataConnections - dataBase.accdb - 表 - 员工(在 c# 中)时,添加了新用户并且在那里。

但是当我转到我的项目文档/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);
    }
}
4

2 回答 2

1

将您的 Access 数据库文件保存dataBase.accdb在其他文件夹路径中,而不是document/bin/debug/database. 由于每次构建数据库文件的新副本后,都会在bin文件夹中获取副本,因此每次成功构建后最后一次更改都会丢失。使用数据库文件
检查类似的SO 问题。.mdf

于 2014-01-14T11:55:16.513 回答
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)";
于 2014-01-14T11:53:08.597 回答