用户数据不会添加到数据库中

时间:2014-01-14 11:47:41

标签: c# database oledbconnection oledbcommand oledbdataadapter

我有访问数据库,我尝试使用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);
    }
}

2 个答案:

答案 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)";