Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用户数据不存在';无法添加到数据库中_C#_Database_Oledbconnection_Oledbcommand_Oledbdataadapter - Fatal编程技术网

C# 用户数据不存在';无法添加到数据库中

C# 用户数据不存在';无法添加到数据库中,c#,database,oledbconnection,oledbcommand,oledbdataadapter,C#,Database,Oledbconnection,Oledbcommand,Oledbdataadapter,我有access数据库,我尝试使用c#windows窗体应用程序将用户添加到我的数据库中 当我添加新用户时,它会显示用户成功添加,当我转到DataConnections-dataBase.accdb-tables-employees(在c#中)时,会添加新用户并在那里 但是当我转到我的项目文档/bin/debug/database时,那里没有新用户。为什么呢?为什么我在c#中有新用户,为什么调试/数据库中没有用户,我该如何解决这个问题 这是我的代码 private void button1_Cl

我有access数据库,我尝试使用c#windows窗体应用程序将用户添加到我的数据库中

当我添加新用户时,它会显示用户成功添加,当我转到DataConnections-dataBase.accdb-tables-employees(在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);
    }
}
替换

cmd.CommandText = "Insert into Employees (Name, LastName, UserName, Password, E_mail, Address)" + "values(@Name, @LastName, @UserName, @GPassword, @E_mail, @Address,)";


将Access数据库文件
database.accdb
保存在其他文件夹路径中,而不是
document/bin/debug/database
。由于每次生成后,数据库文件的新副本都会在
bin
文件夹中获取副本,因此每次成功生成后,最后的更改都会丢失。

使用
.mdf
数据库文件检查simillar。

您的插入查询有语法错误。。。最后删除“,”befor“,”不是语法错误,“,”只是一个错误,因为我必须将信息从我的语言翻译成英语,这样你们才能理解是什么。它以其他方式工作。accdb放在哪里?我的原始数据库放在项目(documents/college/rgis/project/3)以外的其他位置(documents/visual2013/projects)。。。这是问题吗?我的原始数据库文件(我在access中创建的)不在bin/debug/database中…我的原始数据库位于项目(documents/college/rgis/project/3)以外的其他位置(documents/visual2013/projects)。。。但我的调试中还有一个数据库…不知道why@fkr检查您的连接字符串,您在其中提到了哪条路径?是
/bin
文件夹位置还是
文档/college/rgis/project/3
文件夹位置?每次成功构建后,您可能会将更改回滚到原始数据库文件,不是吗?是的,我会对原始文件夹文件进行更改。现在哪个更重要?调试还是原始文件夹路径?对不起,我是新手,因为我是新来的databases@fkr在这种情况下,您的连接路径是什么?“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Matic\\Documents\\FERI\\2.LETNIK\\1.term\\RPS\\VAJA3\\bazaPodatkov.accdb”
cmd.CommandText = "Insert into Employees (Name, LastName, UserName, Password, E_mail, Address) values(@Name, @LastName, @UserName, @GPassword, @E_mail, @Address)";