作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
美好的一天。我正在尝试制作一个注册页面并将信息存储在数据库中。我使用 Microsoft Access 创建了数据库。我得到:
Syntax error in INSERT INTO statement
每次我按下“注册”按钮。我已经尝试在网上搜索类似的问题,发现了一些类似“保留字”和“必须是你的间距”之类的东西。我做了那些,但它仍然给我错误。我错过了什么吗?
代码如下:
public void InsertRecord()
{
OleDbCommand cmd = new OleDbCommand("INSERT INTO ElemData(StudentID, [Password], [Name], Age, Birthday, Address, FatherName, MotherName, " +
"GuardianName, Class, Section, Email, PhoneNumber, MobileNumber) " +
"VALUES (@studentid, @password, @name, @age, @birth, @address, @father, @mother, @guardian, @classs, @section, @email, @phone, @mobile)", DBConnection.myCon);
cmd.Parameters.Add("@studentid", OleDbType.VarChar).Value = Studentid;
cmd.Parameters.Add("@password", OleDbType.VarChar).Value = Password;
cmd.Parameters.Add("@name", OleDbType.VarChar).Value = Name;
cmd.Parameters.Add("@age", OleDbType.VarChar).Value = Age;
cmd.Parameters.Add("@birth", OleDbType.VarChar).Value = Birth;
cmd.Parameters.Add("@address", OleDbType.VarChar).Value = Address;
cmd.Parameters.Add("@father", OleDbType.VarChar).Value = Father;
cmd.Parameters.Add("@mother", OleDbType.VarChar).Value = Mother;
cmd.Parameters.Add("@guardian", OleDbType.VarChar).Value = Guardian;
cmd.Parameters.Add("@classs", OleDbType.VarChar).Value = Classs;
cmd.Parameters.Add("@section", OleDbType.VarChar).Value = Section;
cmd.Parameters.Add("@email", OleDbType.VarChar).Value = Email;
cmd.Parameters.Add("@phone", OleDbType.VarChar).Value = Phone;
cmd.Parameters.Add("@mobile", OleDbType.VarChar).Value = Mobile;
if (cmd.Connection.State == ConnectionState.Open)
{
cmd.Connection.Close();
}
DBConnection.myCon.Open();
cmd.ExecuteNonQuery();
DBConnection.myCon.Close();
}
最佳答案
Class
和 Section
都是 reserved words .将它们括在方括号中,就像您对保留字 [Password]
和 [Name]
所做的那样。
该页面包含 Allen Browne 的 Database Issue Checker Utility 的链接.如果您有一个包含 Access 的 Office 版本,您可以下载该实用程序并使用它来检查您的 Access 数据库文件是否有其他问题对象名称。
关于c# - 使用 OleDb 的 INSERT INTO 语句中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18222856/
我是一名优秀的程序员,十分优秀!