使用Javafx(netbeans)在SQLITE数据库中插入PDF或任何类型的文件

使用Javafx(netbeans)在SQLITE数据库中插入PDF或任何类型的文件,java,sqlite,jdbc,netbeans,Java,Sqlite,Jdbc,Netbeans,我正在创建一个桌面应用程序,用户可以在其中导入文件并从数据库(SQlite)检索它们,然后查看或修改数据 如果有人能帮我解决这一切 1.我使用SQLITE创建了数据库 2.我使用了filechooser的按钮,然后保存了一个按钮以导入数据库 问题 1.打开文件(完成) 2.保存到数据库(否) 你可以看到我的代码 Mycode打开按钮 public void openfolder (ActionEvent event) throws IOException { FileChooser fc

我正在创建一个桌面应用程序,用户可以在其中导入文件并从数据库(SQlite)检索它们,然后查看或修改数据 如果有人能帮我解决这一切 1.我使用SQLITE创建了数据库 2.我使用了filechooser的按钮,然后保存了一个按钮以导入数据库 问题 1.打开文件(完成) 2.保存到数据库(否) 你可以看到我的代码

Mycode打开按钮

public void openfolder (ActionEvent event) throws IOException {
    FileChooser fc = new FileChooser();
    fc.setInitialDirectory(new File("C:\\Users\\Lenovo\\Documents\\NetBeansProjects\\sogece\\src\\PDFimport"));
    fc.getExtensionFilters().addAll(
    new ExtensionFilter("PDF Files","*.PDF"));
    List<File> selectedFiles = fc.showOpenMultipleDialog(null);
    if (selectedFiles !=null){
        for(int i =0;i <selectedFiles.size();i++){
        listview.getItems().add(selectedFiles.get(i) .getAbsolutePath());
        }}else{
        System.out.println("file is not valid");
    }}
和错误

Inserting
INSERT INTO PDFS (liste) VALUES (null)
Opened database successfully
Our query was: INSERT INTO PDFS (liste) VALUES (null)
Opened database successfully
Deleting directory 
C:\Users\Lenovo\Documents\NetBeansProjects\sogece\dist\run674970846
然后我使用了另一个导入PDF的解决方案,但我得到了这个错误 代码

    String query = "INSERT INTO PDFS (liste) VALUES (?) "try (PreparedStatement stm = connection.prepareStatement(query) {
//NOTE: Position indexes start at 1, not 0
stm.setString(1, listview.getAccessibleText ());

stm.executeUpdate();
}

错误
java.lang.UnsupportedOperationException:尚不支持。在sogeclair.connection.prepareStatement(connection.java:17)在sogeclair.PlanningController.btn插入(PlanningController.ja‌​弗吉尼亚州:285)。。。58.


我回去核实这个问题,但我不明白它是什么意思 Connection.java:17

class connection { static PreparedStatement prepareStatement(String query) { throw new UnsupportedOperationException("Not supported yet.");
PlanningController.java:285:
try(PreparedStatement stm=connection.prepareStatement(query))
更改此选项:

String query = "INSERT INTO PDFS (liste) VALUES (" +listview.getAccessibleText ()+ ")";
为此:

String query = "INSERT INTO PDFS (liste) VALUES ('" +listview.getAccessibleText ()+ "')";
VARCHAR类型应介于两个
''

注意
这可能会导致语法错误或SQL注入,而您必须使用PreparedStatement

String query = "INSERT INTO PDFS (liste) VALUES (?)";

try (PreparedStatement stm = connection.prepareStatement(query) {
    //NOTE: Position indexes start at 1, not 0
    stm.setString(1, listview.getAccessibleText ());

    stm.executeUpdate();
}

请将您的代码粘贴到您的问题中,屏幕截图不正确legible@YCF_L你能帮个忙吗?谢谢你:你从来没有执行过这个声明。你期待什么?Magic?我执行了那条语句,但得到的回报是:java.lang.UnsupportedOperationException:还不受支持。在sogeclair.connection.prepareStatement(connection.java:17)在sogeclair.PlanningController.btn插入(PlanningController.java:285)。。。58更多,我回去验证,但我不知道错误在哪里(connection.java:17)::类连接{static PreparedStatement prepareStatement(String query){throw new UnsupportedOperationException(“还不支持”);//若要更改生成的方法体,请为(PlanningController.ja)选择工具|模板。}‌​va:285)try(PreparedStatement stm=connection.prepareStatement(query))与我得到的相同错误=====将插入到PDF(列表)值('null')成功打开数据库我们的查询是:插入到PDF(列表)值('null'))成功打开数据库是因为
listview.getAccessibleText()
为空。您必须检查@polostutorial抱歉,我是java新手:D,我创建并打开了按钮(filechooser),然后它显示在listview中,所以我想使用save按钮(.pdf)保存它在DB中我应该怎么做:D;)我执行了那个语句,但我得到了这个结果,原因是:java.lang.UnsupportedOperationException:还不受支持。在sogeclair.connection.prepareStatement(connection.java:17)在sogeclair.PlanningController.btninsert(PlanningController.ja)‌​va:285)…58更多,我回去验证,但我不知道错误在哪里…….我得到了连接错误,因为我在复制你的答案时创建了一个同名的类,我不知道如何操作它。谢谢你,你必须编辑你的问题并发布你试图做的@POLOSTutorials
String query = "INSERT INTO PDFS (liste) VALUES (?)";

try (PreparedStatement stm = connection.prepareStatement(query) {
    //NOTE: Position indexes start at 1, not 0
    stm.setString(1, listview.getAccessibleText ());

    stm.executeUpdate();
}