您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

尝试将新记录插入Access数据库时出现SQL语法错误

尝试将新记录插入Access数据库时出现SQL语法错误

单词POSITION是MS-Access-Jet中的保留关键字。 您将其用作表名,因此需要将其用方括号括起来

cmdInsert.CommandText = "INSERT INTO [Position] .......

一部分原因是,您的代码非常糟糕。不要使用字符串Cancatenation来构建sql命令。 当您的输入中有一个单引号或您是否有其他字段需要输入值的特定格式时,这种做法会导致语法错误。但是最糟糕的是sql Injection问题。

因此,您的代码应采用以下方式编写:

cmdInsert.CommandText = "INSERT INTO [Position] (Com_ID, Stu_ID, Pos_StartDate, Pos_Type, " + 
                        "Pos_Description, Pos_Title) VALUES " + 
                        "(?,?,?,?,?,?)"
cmdInsert.Parameters.AddWithValue("@p1",ddlCompany.SelectedValue)
cmdInsert.Parameters.AddWithValue("@p2",ddlStudent.SelectedValue)
cmdInsert.Parameters.AddWithValue("@p3",CalStartDate.SelectedDate.Date)
cmdInsert.Parameters.AddWithValue("@p4",ddlPositionType.SelectedValue)
cmdInsert.Parameters.AddWithValue("@p5",txtDescription.Text)
cmdInsert.Parameters.AddWithValue("@p6",txtPositionTitle.Text)
cmdInsert.Connection = cnnOLEDB
cmdInsert.ExecuteNonQuery()
Access 2022/1/1 18:53:06 有491人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶