我有一个Access数据库,其中包含一个名为 user 的表。该表有两个字段,"用户名"短语类型和" userpassword"短文类型也是如此。用户名是主键!
我制作了一个Windows窗体应用程序Visual C#,并与数据库成功连接。
我首先在Access中运行这个sql语句,
"INSERT INTO USER(USERNAME,USERPASSWORD) VALUES('Tom','1234')"
并正确地将记录附加到表格中。
现在,如果我尝试通过winform应用程序执行相同的sql查询,我会得到异常,它会在"中讨论 a 语法错误插入"声明!
奇怪的事实是我在一周之前提交了申请并且有效。
以下是应附加记录的方法:
public void insertNewUser()
{
String sqlQuery = "INSERT INTO USER(USERNAME,USERPASSWORD) VALUES('malmo','1234')";
OleDbCommand cmd = new OleDbCommand(sqlQuery, this.conn);
int rowsAffected = 0;
try
{
rowsAffected = cmd.ExecuteNonQuery();
System.Windows.Forms.MessageBox.Show("User inserted in database successfully!", "Debug:AppDatabase:insertNewUser");
}
catch (System.InvalidOperationException ex)
{
System.Windows.Forms.MessageBox.Show("User did not inserted in database", "Debug:AppDatabase:insertNewUser");
System.Windows.Forms.MessageBox.Show(ex.Message, "Debug:AppDatabase:insertNewUser");
}
catch (System.Data.OleDb.OleDbException ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, "Debug:AppDatabase:insertNewUser");
}
System.Windows.Forms.MessageBox.Show(rowsAffected.ToString(), "RowsAffected");
}
我在第二个catch区块中获得了Exception!
答案 0 :(得分:1)
USER是一个关键字。请改用[USER]。 - Reza Aghaei