2015-09-03 77 views
0

我在MS Access.i中的数据库有一个名为Admin.Table的表。它有两个属性Username和Password。当我使用插入查询插入数据然后它显示一条消息“INSERT INTO语句中的语法错误。”但我找不到问题。请帮我 代码 -在MS Access数据库中插入数据

string cb = "INSERT INTO Admin(Username,Password) VALUES (@d1,@d2)"; 

command = new OleDbCommand(cb); 

command.Connection = connection; 

command.Parameters.Add(new OleDbParameter("@d1", System.Data.OleDb.OleDbType.VarChar, 20, "Username")); 
command.Parameters.Add(new OleDbParameter("@d2", System.Data.OleDb.OleDbType.VarChar, 30, "Password")); 


command.Parameters["@d1"].Value = textusername.Text; 
command.Parameters["@d2"].Value = textpassword.Text; 



command.ExecuteNonQuery(); 
MessageBox.Show("Successfully saved", "Student Details", MessageBoxButtons.OK, MessageBoxIcon.Information); 
Add.Enabled = true; 
if (connection.State == ConnectionState.Open) 
{ 
    connection.Close(); 
} 
connection.Close(); 
+1

[使用参数插入数据到访问数据库](http://stackoverflow.com/questions/5893837/using-parameters-inserting-data-into-access-database) – KornMuffin

回答

1

我已经通过同样的问题消失之前。

而且问题是你曾经使用过属性Password这是在MS-Access中保留字。因此,而不是使用Password你可以使用类似

PWORD

它会正常工作。

访问Reserved words获取保留字列表。它是Access2007的列表。

希望它有帮助。

+1

或将括号括在保留字作品也是如此。 – LarsTech

+0

@LarsTech:哦,是的,没错。 – Tops