簡體   English   中英

無法從Eclipse連接到sqlite?

[英]Can't connect to sqlite from eclipse?

大家好,我要做這個簡單的Java,並且嘗試從eclipse連接到sqlite數據庫,但是它根本不起作用。

這是我的代碼:

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


public class DatabaseConnection {

    private String pathDB="C:\\sqlite\\test.db";
    private Connection connection=null;
    private Statement statement=null;


    public DatabaseConnection(String path){
    pathDB= path;


   }

public void connect () {
    try {
        Class.forName("org.sqlite.JDBC");
        connection= DriverManager.getConnection("jdbc:sqlite:" + pathDB);
        statement= connection.createStatement();
        System.out.println("Connection to " + pathDB + " "+ "successful");

    } catch (ClassNotFoundException notFoundException) {
        notFoundException.printStackTrace();
        System.out.println("Connection Error!");

    } catch (SQLException sqlException) {

        sqlException.printStackTrace();
        System.out.println("Connection Error!");
    }

    String query="Insert into Identity values(0,'issam','issam@mail.com')";
    try {
        statement.executeUpdate(query);
    } catch (SQLException e) {
        e.printStackTrace();
    }
    }

public void close() {
    try {
        connection.close();
        statement.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    }
}

和主類:

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        DatabaseConnection connection= new DatabaseConnection("test.db");
        connection.connect();
        connection.close();



    }

}

所以我有這個sqlite數據庫,但是每當我運行代碼時,它總會給我:無論我放置什么路徑,“路徑”的連接都是成功的。

我認為我已正確完成所有操作,我下載了sqlite JDBC文件並添加了它: 在此處輸入圖像描述

我嘗試將新行添加到數據庫表中,但這總是給我這樣:

Connection to test.db successful
java.sql.SQLException: no such table: Identity
    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 com.issam.iamcore.DatabaseConnection.connect(DatabaseConnection.java:41)
    at com.issam.iamcore.Main.main(Main.java:10)
java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database   (Connection is closed)
    at org.sqlite.core.DB.newSQLException(DB.java:890)
    at org.sqlite.core.CoreStatement.internalClose(CoreStatement.java:109)
    at org.sqlite.jdbc3.JDBC3Statement.close(JDBC3Statement.java:35)
    at com.issam.iamcore.DatabaseConnection.close(DatabaseConnection.java:63)
    at com.issam.iamcore.Main.main(Main.java:11)

任何幫助將不勝感激,謝謝!

您已成功連接到數據庫,但是在執行插入查詢之前未創建表Identity ,如堆棧跟蹤中所述:

Connection to test.db successful
java.sql.SQLException: no such table: Identity

在插入行之前調用此命令:

String createQuery = "CREATE TABLE Identity (id INT PRIMARY KEY NOT NULL, name TEXT, email TEXT)";
statement.executeUpdate(createQuery);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM