第一次使用java在eclipse上设置SQLite需要帮助吗

第一次使用java在eclipse上设置SQLite需要帮助吗,java,eclipse,sqlite,Java,Eclipse,Sqlite,我一直在想如何让SQLite在EclipseJuno上工作。我一直在遵循这个网站上的说明。问题是并不是每一步都和解释的一样,所以我在猜测我是否做对了。我觉得在第13步之前,我可能都是正确的,因为没有SQL模型JDBC连接条目。所以我用一个通用的JDBC和一个写着SQLite的JDBC尝试了步骤13-16。SQLite one没有驱动程序,这一点也不奇怪,因为步骤5。到目前为止,我尝试过的任何方法都以失败告终,下面列出了详细信息。一定有人有更好的方法来完成这个过程 java.sql.SQLExce

我一直在想如何让SQLite在EclipseJuno上工作。我一直在遵循这个网站上的说明。问题是并不是每一步都和解释的一样,所以我在猜测我是否做对了。我觉得在第13步之前,我可能都是正确的,因为没有SQL模型JDBC连接条目。所以我用一个通用的JDBC和一个写着SQLite的JDBC尝试了步骤13-16。SQLite one没有驱动程序,这一点也不奇怪,因为步骤5。到目前为止,我尝试过的任何方法都以失败告终,下面列出了详细信息。一定有人有更好的方法来完成这个过程

java.sql.SQLException: java.lang.UnsatisfiedLinkError: SQLite.Database.open(Ljava/lang/String;I)V
at SQLite.JDBCDriver.connect(JDBCDriver.java:68)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:328)
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnectionFactory.createConnection(JDBCConnectionFactory.java:53)
at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

确保从获取驱动程序,然后将驱动程序导入到项目中

现在,您可以通过创建java类
Sample.java

   import java.sql.Connection;
   import java.sql.DriverManager;
   import java.sql.ResultSet;
   import java.sql.SQLException;
   import java.sql.Statement;

   public class Sample
    {
    public static void main(String[] args) throws ClassNotFoundException
     {
      // load the sqlite-JDBC driver using the current class loader
      Class.forName("org.sqlite.JDBC");

      Connection connection = null;
      try
      {
         // create a database connection
         connection = DriverManager.getConnection("jdbc:sqlite:sample.db");

         Statement statement = connection.createStatement();
         statement.setQueryTimeout(30);  // set timeout to 30 sec.


         statement.executeUpdate("DROP TABLE IF EXISTS person");
         statement.executeUpdate("CREATE TABLE person (id INTEGER, name STRING)");

         int ids [] = {1,2,3,4,5};
         String names [] = {"Peter","Pallar","William","Paul","James Bond"};

         for(int i=0;i<ids.length;i++){
              statement.executeUpdate("INSERT INTO person values(' "+ids[i]+"', '"+names[i]+"')");   
         }

         //statement.executeUpdate("UPDATE person SET name='Peter' WHERE id='1'");
         //statement.executeUpdate("DELETE FROM person WHERE id='1'");

           ResultSet resultSet = statement.executeQuery("SELECT * from person");
           while(resultSet.next())
           {
              // iterate & read the result set
              System.out.println("name = " + resultSet.getString("name"));
              System.out.println("id = " + resultSet.getInt("id"));
           }
          }

     catch(SQLException e){  System.err.println(e.getMessage()); }       
      finally {         
            try {
                  if(connection != null)
                     connection.close();
                  }
            catch(SQLException e) {  // Use SQLException class instead.          
               System.err.println(e); 
             }
      }
  }
 }
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入java.sql.Statement;
公共类样本
{
公共静态void main(字符串[]args)引发ClassNotFoundException
{
//使用当前类加载器加载sqlite JDBC驱动程序
Class.forName(“org.sqlite.JDBC”);
连接=空;
尝试
{
//创建数据库连接
connection=DriverManager.getConnection(“jdbc:sqlite:sample.db”);
语句Statement=connection.createStatement();
语句。setQueryTimeout(30);//将超时设置为30秒。
语句.executeUpdate(“删除表(如果存在));
语句.executeUpdate(“创建表person(id整数,名称字符串)”;
int-id[]={1,2,3,4,5};
字符串名[]={“彼得”、“帕拉”、“威廉”、“保罗”、“詹姆斯·邦德”};

对于(int i=0;iit确实将两个人的id放入了一个arraylist中。因此,我认为它按照您的计划工作,但我不确定它是否是我要查找的。此信息保存在哪里。它看起来很像arraylist。在我的项目中,我将学生从CSV.txt放入arraylist中,然后添加或删除分数。我希望这些分数和名称保存到DB中n运行这个程序一个月后,我想导出到excel并擦除数据库。我知道当我关闭程序时,数组列表会丢失数据,但这会吗?如果是这样,那么你说得对,请指导我学习一个教程来帮助我处理数据库。我开始认为你只是问了很多问题,而没有亲自尝试,我想我的answer是您所需要的(正如您在Eclipse中要求配置的那样),另外我还提供了一个简单的教程,介绍了如何从DB创建、插入、选择操作,对于DB,它的名称是sample.DB(这是portable DB)你会在你的项目文件夹中找到它,只是浏览一下!我真的很感谢你的帮助,我找到了db文件。我不欣赏它的懒惰意味。我只是添加了上下文以确保我的方向正确。我甚至要求提供一个教程网站,以便我能够理解并创建自己的代码。我不想只是复制你rs.我在这里找到它是为了任何愿意跟随我的人。再次,我感谢你是唯一帮助我的人,你这样做了我+1并标记为答案。请继续帮助,我欢迎你再次帮助。只需对像我这样自学成才的新手保持敏感。+1,我很乐意帮助你!如果你遇到任何问题,请发布你的问题,我会&成千上万的ppl已经准备好提供帮助!我在三分钟内启动并运行了一个db。比阅读Eclipse wiki花费的时间还少:-)。你真的应该得到一个向上箭头。