java - 通过java将文件路径保存到mysql

标签 java mysql

我已阅读所有解决方案,但现在我不知道如何通过 java jdbc 将文件路径保存到 mysql。 这是我的代码:

enter  try{
        String url= "jdbc:mysql://127.0.0.1:3306/test";
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        con= DriverManager.getConnection(url,"root","");
        System.out.println("ket noi thanh cong");
        s = con.createStatement( );

        JFileChooser chooser = new JFileChooser();
        chooser.showOpenDialog(null);
        File f = chooser.getSelectedFile();
        fileName = f.getAbsolutePath().toString();

        String input = "INSERT INTO imagesrc ( image_src ) VALUES (?);";
        PreparedStatement p = con.prepareStatement(input);
        p.setString(1, fileName);

        System.out.println(p.toString());
        p.executeQuery();

    }
    catch(Exception e){
        System.out.println("error");
    } here

但是没有运行并且出现错误? 当我通过以下方式打印 SQL 代码时:

System.out.println(p.toString());

将其复制并粘贴到 mysql 中,运行后没有错误? 请帮助我,谢谢

谢谢 salah anh,这是解决方案:

String url= "jdbc:mysql://127.0.0.1:3306/test";
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    con= DriverManager.getConnection(url,"root","");
    System.out.println("ket noi thanh cong");
    s = con.createStatement( );

    JFileChooser chooser = new JFileChooser();
    chooser.showOpenDialog(null);
    File f = chooser.getSelectedFile();
    fileName = f.getAbsolutePath();

    String input = "INSERT INTO imagesrc ( image_src ) VALUES (?)";
     PreparedStatement p = con.prepareStatement(input);
     p.setString(1, fileName);
     // s.executeUpdate(input);
     p.executeUpdate();

最佳答案

您将需要使用executeUpdate() 方法来执行INSERT 语句,而您将需要使用executeQuery() 方法来执行SELECT 语句。这是由于 JDBC 规范对其使用提出了要求:

来自 Statement.executeQuery() 的 Java API 文档:

Executes the given SQL statement, which returns a single ResultSet object.

Parameters:

sql - an SQL statement to be sent to the database, typically a static SQL SELECT statement

以及来自 Java API 文档 Statement.executeUpdate() :

Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.

Parameters:

sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.

了解更多details

关于java - 通过java将文件路径保存到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22280387/

相关文章:

java - 根据 Java 中的属性值在 ArrayList 中查找对象的索引

java - jline2 在 telnet 控制台上应该打印 "^J"时打印 "\n"

mysql - 如何访问 CFQUERY SUM 值

mysql - MySQL 中何时使用单引号、双引号和反引号

Java Servlet 约定

java - Java中如何调用另一个类中的方法?

mysql limit 关键字的最大值

mysql - 测量 Apache/Mysql 服务器上的内存使用情况

mysql - 搜索后在 HTML 表中显示 MYSQL 数据

java - 世界时间 API 调用触发 onFailure 而不是 onSuccess