我正在开发一个关于添加,编辑和删除注册表的数据库项目到Students表,其中包含以下字段:
Last_names,Names,IcNumber,Average,Entry_mode,Career and Change
在编辑框架中,我有一个字段,用户键入要编辑其数据的学生的icnumber,请求新数据并将其保存到“Students”数据结构,然后使用新数据重新更新注册表:
String stmnt = "Insert Into Students (Last_names, Names, IcNumber, Average, " +
"Entry_mode, Career, Change) Values ('" + student.getLastNames() +
"', '" + student.getNames() + "', '" + student.getIcNumber() + "', " +
student.getAverage() + ", '" + student.getEntry() + "', '" +
student.getCareer() + "', '" + student.getChange() + "') " +
"Where IcNumber = '" + field.getText() + "'";
statement.execute(stmnt);
我收到此错误消息:
[Microsoft] [Microsoft Access ODBC Driver]“查询输入必须至少包含一个表或查询。”
我在我的程序的添加注册表区域中尝试了类似的SQL指令而没有“Where”条件并且运行良好,任何人都知道该错误?
答案 0 :(得分:2)
您应该使用子查询,首先使用WHERE的SELECT部分,然后使用INSERT部分 类似的东西:
if (cond){
(SELECT.....)
(INSERT INTO...)}
答案 1 :(得分:1)
为什么在where
声明中使用insert
? Where
子句适用于select
,update
和delete
语句,但不适用于insert
。此外,我认为您的查询中不需要where
子句。
只需使用insert
语句而不使用where
子句。
答案 2 :(得分:1)