2

java.sqlite.SQLException:没有这样的表:学生

当我尝试从 sqlite 数据库中的 fts4 表中显示 JTable 中的数据时,我收到此错误消息。我知道我的代码很好,因为它适用于普通的 sqlite 表。但我无法访问“使用 fts4 的虚拟表”。我可以访问我的数据库,但是这个带有 fts4 的虚拟表让我很头疼。我使用 Firefox 附加 SQLite 管理器通过以下查询创建 fts4 表:

使用 fts4 (id, first_name, last_name) 创建虚拟表学生;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import net.proteanit.sql.DbUtils;

public class TestGUI extends javax.swing.JFrame {
    Connection con = null;
    PreparedStatement pst = null;
    ResultSet rs = null;
    SqliteConnection sc = new SqliteConnection();

    public TestGUI() {
        initComponents();
        con = SqliteConnection.ConnectSqlite();
        UpdateTable();

    }

    public void UpdateTable(){

        try {
            String sql = "SELECT * from student";
            pst = con.prepareStatement(sql);
            rs=pst.executeQuery();
            studentTable.setModel(DbUtils.resultSetToTableModel(rs));
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

我需要为此使用一些不同的驱动程序吗?我使用此代码连接到 sqlite 数据库:

import java.sql.*;
import javax.swing.*;

public class SqliteConnection {
    public Connection con = null;
    PreparedStatement pst = null;
    ResultSet rs = null;

    public static Connection ConnectSqlite(){
        try{
        Class.forName("org.sqlite.JDBC");
        Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Documents and Settings\\Zoran Davidovic\\My Documents\\NetBeansProjects\\Test\\baza1.sqlite");
        JOptionPane.showMessageDialog(null, "Connection successful!");
        return conn;
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, "Error!");
            return null;
        }
    }


}
4

0 回答 0