2014-07-25 10 views
8

Próbowałem dowiedzieć się, jak sprawić, by SQLite działało na eclipse Juno. Postępowałem zgodnie z instrukcjami na tej stronie http://wiki.eclipse.org/Connecting_to_SQLite. Problem polega na tym, że nie każdy krok jest dokładnie taki, jak wyjaśniono, więc zgaduję, że pogoda jest dobra, czy nie. Czuję, że prawdopodobnie uzyskałem wszystko poprawnie aż do kroku 13, nie ma wpisu połączenia SQL Model-JDBC. Tak więc próbowałem krok 13-16 z ogólnym JDBC i tym, który mówi SQLite. W SQLite nie ma sterownika, co nie jest zaskoczeniem z powodu kroku 5. Jakikolwiek sposób, który próbowałem do tej pory kończy się niepowodzeniem ping ze szczegółami wymienionymi poniżej. Ktoś musi mieć lepszy sposób przez ten proces.Potrzebuję pomocy przy konfigurowaniu SQLite na eclipse z Javą po raz pierwszy

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) 

Odpowiedz

16

Sprawdź, czy masz sterownik z https://bitbucket.org/xerial/sqlite-jdbc/downloads, a następnie zaimportować sterownik do projektu.

enter image description here

enter image description here

Teraz można przetestować konfigurację poprzez utworzenie klasy 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); 
      } 
     } 
    } 
} 

Kod utworzy bazę danych o nazwie sample.db, wstawianie danych do, a następnie drukuje wydziwianie.

+0

daj mi znać, jeśli to nie zadziała. –

+0

wprowadził 2 osoby z ich identyfikatorem. Więc myślę, że zadziałało zgodnie z planem, ale nie jestem pewien, czy tego właśnie szukam. Gdzie są zapisane te informacje. wygląda trochę jak lista tablic. W moim projekcie umieszczam uczniów w tablicy z pliku CSV.txt, a następnie dodawam lub odejmuję punkty. Chcę, aby te punkty i nazwy zostały zapisane w DB, a następnie po miesiącu uruchomienia tego programu chcę wyeksportować do Excela i wyczyścić DB. Wiem, że lista tablicowa utraci dane po zamknięciu programu, ale czy to zrobi? Jeśli tak, to dobrze, i proszę skierować mnie do samouczka, który pomoże mi z DB – Chad

+1

Zaczynam myśleć, że po prostu dużo pytasz, nie próbując siebie, myślę, że moja odpowiedź jest tym, czego potrzebujesz (Jak prosiłeś dla konfiguracji w Eclipse) plus dałem prosty samouczek, jak utworzyć, wstawić, wybrać operację z DB, a dla bazy danych jest to ** sample.db ** (jest to przenośny db) znajdziesz go wewnątrz folderu projektu, po prostu go zbadaj! –

Powiązane problemy