Я хочу прочитать три столбца, а именно "name, xcoordinate, ycoordinate" этой таблицы SCHACHT_V
из представлений в базе данных, как показано на следующем рисунке
таблица из представлений в базе данных :
Код, который я использовал, выглядит следующим образом
/**
*
* @author liu
*/
public class SelectApp {
/**
* @param args the command line arguments
*
*/
private Connection connect() throws ClassNotFoundException, SQLException {
// SQLite connection string
Class.forName("org.sqlite.JDBC");
File file = new File("F:\\LHU\\ISU\\Masterarbeit\\Daten Ricklingen\\Model-Extr_BLD3V1,2_EXT.idbr");
SQLiteConfig config = new SQLiteConfig();
config.setEncoding(SQLiteConfig.Encoding.UTF8);
Connection conn = DriverManager.getConnection("jdbc:sqlite:" + file.getAbsolutePath(), config.toProperties());
return conn;
}
/**
* select all rows in the warehouses table
*/
public void selectAll() {
String sql = "SELECT name, xcoordinate, ycoordinate FROM SCHACHT_V";
try (Connection conn = this.connect();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)){
// loop through the result set
while(rs.next()) {
System.out.println(rs.getString("name") + "\t" + rs.getDouble("xcoordinate") + "\t" + rs.getDouble("ycoordinate") + "\t");
}
}catch (SQLException e) {
System.out.println(e.getMessage());
} catch (ClassNotFoundException ex) {
Logger.getLogger(SelectApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
SelectApp app = new SelectApp();
app.selectAll();
}
}
Но он всегда показывает ошибку:
"[SQLITE_ERROR] Ошибка SQL или отсутствует база данных (такой функции нет: X)".
Я застрял в этом на долгое время.Кто-нибудь может мне помочь?