改一下下面的代码吧,祝你好运!
try {
        // Prepare a statement to insert binary data
        String sql = "INSERT INTO mysql_all_table (col_binarystream) VALUES(?)";
        PreparedStatement pstmt = connection.prepareStatement(sql);
    
        // Create some binary data
        byte[] buffer = "some data".getBytes();
    
        // Set value for the prepared statement
        pstmt.setBytes(1, buffer);
    
        // Insert the data
        pstmt.executeUpdate();
        pstmt.close();
    
    
        // Select records from the table
        Statement stmt = connection.createStatement();
        ResultSet resultSet = stmt.executeQuery("SELECT * FROM mysql_all_table");
        while (resultSet.next()) {
            // Get data from the binary column
            byte[] bytes = resultSet.getBytes("col_binarystream");
        }
    } catch (SQLException e) {
    }try {
        // Prepare a statement to insert a record
        String sql = "INSERT INTO mysql_all_table("
            + "col_boolean,"
            + "col_byte,"
            + "col_short,"
            + "col_int,"
            + "col_long,"
            + "col_float,"
            + "col_double,"
            + "col_bigdecimal,"
            + "col_string,"
            + "col_date,"
            + "col_time,"
            + "col_timestamp,"
            + "col_asciistream,"
            + "col_binarystream,"
            + "col_blob) "
            + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        PreparedStatement pstmt = connection.prepareStatement(sql);
    
        // Set the values
        pstmt.setBoolean(1, true);
        pstmt.setByte(2, (byte)123);
        pstmt.setShort(3, (short)123);
        pstmt.setInt(4, 123);
        pstmt.setLong(5, 123L);
        pstmt.setFloat(6, 1.23F);
        pstmt.setDouble(7, 1.23D);
        pstmt.setBigDecimal(8, new BigDecimal(1.23));
        pstmt.setString(9, "a string");
        pstmt.setDate(10, new java.sql.Date(System.currentTimeMillis()));
        pstmt.setTime(11, new Time(System.currentTimeMillis()));
        pstmt.setTimestamp(12, new Timestamp(System.currentTimeMillis()));
    
        // Set the ascii stream
        File file = new File("infilename1");
        FileInputStream is = new FileInputStream(file);
        pstmt.setAsciiStream(13, is, (int)file.length());
    
        // Set the binary stream
        file = new File("infilename2");
        is = new FileInputStream(file);
        pstmt.setBinaryStream(14, is, (int)file.length());
    
        // Set the blob
        file = new File("infilename3");
        is = new FileInputStream(file);
        pstmt.setBinaryStream(15, is, (int)file.length());
    
        // Insert the row
        pstmt.executeUpdate();
    } catch (SQLException e) {
    } catch (FileNotFoundException e) {
    }

解决方案 »

  1.   

    为了避免大家理解上有问题,我把具体的要求解释一下:这个问题是要求在自己的计算机上任意选择要上传的文件(不限定类型),选择的功能要具有,不能在程序中指定;将文件保存到mysql数据库的blob字段中。因为水平有限,希望各位大哥给出较完整的代码(语言为jsp)。万分感谢!!!!