【发布时间】:2015-03-01 15:02:17
【问题描述】:
我正在使用一个 java 类,它允许我将数据从字符串插入 SQLite 数据库。我通过循环插入数据。我的字符串有 260 个数据。当我尝试将这些数据从字符串插入到 sqlite 数据库时,它工作正常,但每次都停在 254 的位置!为什么?!
for(i = 0; i < 260; i++)
{
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:D:\\new.db");
java.sql.Statement statement = connection.createStatement();
statement .executeUpdate("INSERT INTO suggestion (suggesting) VALUES('"+words[i]+"')");
System.out.println(i + " - " + words[i]);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Word.class.getName()).log(Level.SEVERE, null, ex);
}
}
这是来自 netbeans 的错误日志!
Exception in thread "main" java.lang.NullPointerException
at org.sqlite.NestedDB$CausedSQLException.fillInStackTrace(NestedDB.java:442)
at java.lang.Throwable.<init>(Throwable.java:250)
at java.lang.Exception.<init>(Exception.java:54)
at java.sql.SQLException.<init>(SQLException.java:140)
at org.sqlite.NestedDB$CausedSQLException.<init>(NestedDB.java:435)
at org.sqlite.NestedDB._open(NestedDB.java:63)
at org.sqlite.DB.open(DB.java:77)
at org.sqlite.Conn.<init>(Conn.java:88)
at org.sqlite.JDBC.connect(JDBC.java:64)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:233)
at test.Word.main(Word.java:106)
Java Result: 1
【问题讨论】:
-
您确定该数组的值有效吗?
-
除了假设驱动程序拒绝创建另一个连接之外,我无法评论空指针,因为您一直在创建连接并且从不关闭它们中的任何一个。上面的代码非常需要重新- 使用准备好的语句、单个连接和正确的错误检查的因素。
标签: java windows sqlite netbeans netbeans-8