Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 语法错误:遇到";经常性;_Java_Sql_Database_Syntax Error_Javadb - Fatal编程技术网

Java 语法错误:遇到";经常性;

Java 语法错误:遇到";经常性;,java,sql,database,syntax-error,javadb,Java,Sql,Database,Syntax Error,Javadb,我试图编写一个SQL语句,用给定的新信息更新我的数据库。当我运行程序时,它会给我一个错误,说它在第1行401列遇到了“重复”。这是什么意思?我以前使用过这个词添加到数据库中,所以我不明白问题是什么。这是密码 stmt.executeUpdate("UPDATE \"CUSTOMERS\" SET FIRSTNAME = " + "'" + customer.getFirstName() + "'" + ", LASTNAME = " + "'" + customer.getLastName()

我试图编写一个SQL语句,用给定的新信息更新我的数据库。当我运行程序时,它会给我一个错误,说它在第1行401列遇到了“重复”。这是什么意思?我以前使用过这个词添加到数据库中,所以我不明白问题是什么。这是密码

stmt.executeUpdate("UPDATE \"CUSTOMERS\" SET FIRSTNAME = " + "'" + customer.getFirstName() + "'" + ", LASTNAME = " + "'" + customer.getLastName() + "'" + ", EMAIL = " + "'" + customer.getEmail() + "'" + ", PHONE = " + "'" + customer.getPhone() + "'" + ", ADDRESS = " + "'" + customer.getAddress() + "'" + ", GROUPONNUMBER = " + "'" + customer.getGrouponNumber() + "'" + ", NOTES = " + "'" + customer.getNotes() + "'" + ", ONETIME = " + customer.getOneTime() + ", RECURRING = " + customer.getRecurring()+ ", NONRESPONSIVE = " + customer.getNonResponsive() + " WHERE FIRSTNAME = " + "'" + active.getFirstName() + "'" + " AND LASTNAME = " + "'" + active.getLastName() + "'" + " AND EMAIL = " + "'" + active.getEmail() + "'" + "AND PHONE = " + "'" + active.getPhone() + "'" + "AND ADDRESS = " + "'" + active.getAddress() + "'" + "AND GROUPONNUMBER =  " + "'" + active.getGrouponNumber() + "'" + "AND NOTES = " + "'" + active.getNotes() + "'" + " AND ONETIME = " + active.getOneTime() + "AND RECURRING = " + active.getRecurring() + "AND GROUPON = " + active.getGroupon() + "AND NONRESPONSIVE = " + active.getNonResponsive());

我没有太多使用SQL,所以说实话,我真的不知道我在做什么。

在一些双引号后面(在“重复”列附近)缺少空格。有人告诉我,这在Java中也不是最好的方法。我不是Java开发人员,但通常构建一个SQL字符串然后运行是不好的,原因有很多(最重要的一点是,它很容易出现像这样的错误。)这是第1000000个java标记-哈哈哦哇。这很酷@ILIketocode你在说哪些空间?是的,可能不是,但我不知道其他方法来做它。@TomH嘿,我刚刚修复了这些空间,现在我在谈论LONG VARCHAR和char之间的比较时遇到了一个错误。你正在使用类似于,“和ONETIME=“+active.getOneTime()+”和recurtive=“…请注意双引号和“AND”之间缺少空格。此外,如果您知道可能有更好的方法,那么也许您应该在谷歌上搜索如何针对SQL编写Java代码并编写适当的代码,而不是编写您认为不好的代码。