我正在做一个数据库项目,关于添加、编辑和删除注册表到一个包含字段的学生表中:
Last_names,Names,IcNumber,Average,Entry_mode,Career和Change
在编辑框架中,我有一个字段,用户在其中键入学生的icnumber以编辑其数据,请求新数据并将其保存到“学生”数据结构中,然后使用新数据重新更新注册表:
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“查询输入必须至少包含一个表或查询。”
我已经在我的程序的添加注册表区域中尝试了一个类似的SQL指令,没有"Where“条件,并且工作正常,有人知道这个错误吗?
发布于 2012-10-16 12:38:52
为什么在insert语句中使用where?Where子句适用于select、update和delete语句,但不适用于insert。另外,我认为在您的查询中不需要使用where子句。
只需使用不带where子句的insert语句。
发布于 2012-10-16 12:39:15
您应该使用子查询,首先是带有WHERE的SELECT部分,然后是INSERT部分,类似于:
if (cond){
(SELECT.....)
(INSERT INTO...)}发布于 2012-10-16 12:39:57
使用INSERT语句添加新记录。INSERT语句中不包含WHERE子句。
如果您正在编辑现有的记录,那么应该使用UPDATE语句,并且WHERE子句可以用来确定要更改的记录。
https://stackoverflow.com/questions/12907541
复制相似问题