单词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 = cnnOLEDBcmdInsert.ExecuteNonQuery()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)