我写了一个程序,用单词列表填充数据库。问题是,每次我尝试运行代码时,它都会引发“线程“ main”中的异常”
java.sql.SQLException:在“ s”附近:语法错误”。我知道在此论坛上也曾提出过类似的问题,但是在我的代码中,我无法纠正该错误。
因此,我求助于您。
这是代码
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class db_populate {
public static void main(String[] args) throws SQLException, IOException,
ClassNotFoundException {
Connection c = null;
Statement stmt = null;
Scanner in = null;
String word;
String wordcat;
String j, sql;
int i = 0;
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:dictionary.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
in = new Scanner(new File("wordsEn.txt"));
while (in.hasNext()) {
word = in.nextLine();
i++;
j = Integer.toString(i);
wordcat = word.substring(0, 2);
sql = "INSERT INTO WORDS (ID,CAT,WORD) " + "VALUES(" + j + ",'"
+ wordcat + "','" + word + "');";
stmt.executeUpdate(sql);
}
stmt.close();
c.commit();
c.close();
in.close();
System.out.println("Records created successfully");
}
}
这些是我跑步时遇到的错误。
Opened database successfully
Exception in thread "main" java.sql.SQLException: near "s": syntax error
at org.sqlite.core.NativeDB.throwex(NativeDB.java:397)
at org.sqlite.core.NativeDB._exec(Native Method)
at org.sqlite.jdbc3.JDBC3Statement.executeUpdate(JDBC3Statement.java:116)
at db_populate.main(db_populate.java:34)
使用PreparedStatement避免输入错误的问题:
PreparedStatement p = c.prepare("INSERT INTO WORDS (ID,CAT,WORD) VALUES(?, ?, ?)");
p.setInt(1, i);
p.setString(2, wordcat);
p.setString(3, word);
p.execute();
//commit results if using InnoDB, etc
问题内容: 这是代码: 错误: 跑: 请帮助我解决此错误。我正在使用Windows Vista OS。 谁能建议我如何以.3gp格式存储文件?请帮助 问题答案: 方法内部的第202行的某些对象引用是在代码尝试使用点运算符访问/调用它时进行的。 例如 解决方案实际上很简单。只需实例化它即可确保它不为空: …或在访问/调用之前简单地执行nullcheck:
问题内容: 每当我运行此命令时,该函数就可以正常使用。当我选择洞穴时,消息会每隔2秒弹出一次,然后当它越过该部分时,就会出现错误: 我已经尝试过和,并且在该方法中使用时,出现了很多错误。当我在方法中使用时,它不接受我的输入。 当我在该方法中使用时,它不接受我的字符串输入,而直接进入另一个游戏,但是布尔值返回并且它无限地发送垃圾邮件“ Which Cave …”。 我已经阅读了错误报告,以及类似问题
问题内容: 我正在开发一个访问数据库的项目,但是我遇到了一些问题。我尝试使用hibernate3.2和4.52,但是它不起作用。 例外是在这行代码中 问题答案: 您需要在类路径中检查类org.apache.log4j.Level的冲突版本并进行解决。版本1.2.12或更高版本的log4j jar中提供了TRACE级别。
我最近安装了intellij IDEA 14.0,为了确保一切正常,我创建了一个简单的Hello World程序。我不明白为什么输出不正确,为什么会出现这个错误。如果有人能帮忙,那就太好了。 以下是程序: 这是错误:
问题内容: 当我运行程序进行智能卡读取时,会出现此异常。我的设备未连接。请帮我。 问题答案: 这意味着它无法加载您需要的共享库。这可能是因为。 该库不在您的库路径中。 该库名称不正确,例如,Unix上LIBRARY必须为libLIBRARY.so。 您无法执行该库。 该库不适用于操作系统或JVM的位大小。例如64位JVM将不会加载32位库。 您的JRE未正确安装,并且无法加载其自己的库之一。 您正
我不断收到错误消息: 线程“main”java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)在java.lang.Integer.ParseInt(Integer.java:580)在java.lang.Integer.ParseInt(Integer.java:615)在TestClass.Mai