C# 用户数据不存在';无法添加到数据库中
我有access数据库,我尝试使用c#windows窗体应用程序将用户添加到我的数据库中 当我添加新用户时,它会显示用户成功添加,当我转到DataConnections-dataBase.accdb-tables-employees(在c#中)时,会添加新用户并在那里 但是当我转到我的项目文档/bin/debug/database时,那里没有新用户。为什么呢?为什么我在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
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)";