精华内容
下载资源
问答
  • setbinarystream
    2022-06-18 18:40:15

    主要讲述这几种的区别:
    ps.setCharacterStream:
    ps.setBinaryStream:
    ps.setBlob与ps.setClob:

    更多相关内容
  • mysql 使用以下版本驱动程序 在PreparedStatement中执行setBinaryStream方法时报错误:mysql-connector-java-5.0.8-bin.jarmysql-connector-java-5.1.13-bin.jar错误信息如下:Java代码...

    mysql 使用以下版本驱动程序 在PreparedStatement中执行setBinaryStream方法时报错误:

    mysql-connector-java-5.0.8-bin.jar

    mysql-connector-java-5.1.13-bin.jar

    错误信息如下:

    Java代码

    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? ?±n????#??1}?M????/' dG???zPd m7??‘* 4 ??@? 8 ê§??à????‘6m?-?

    E?OH??A?—6tl?iq?' at line 1

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1051 )

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566 )

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498 )

    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959 )

    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113 )

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568 )

    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113 )

    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1364 )

    at com.frameworkset.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169 )

    at com.frameworkset.common.poolman.PreparedDBUtil.innerExecute(PreparedDBUtil.java:1223 )

    at com.frameworkset.common.poolman.PreparedDBUtil.executePrepared(PreparedDBUtil.java:1578 )

    at com.frameworkset.common.poolman.PreparedDBUtil.executePrepared(PreparedDBUtil.java:924 )

    at com.frameworkset.mysql.mysql.testBlobWrite(mysql.java:157 )

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 )

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25 )

    at java.lang.reflect.Method.invoke(Method.java:585 )

    at org.junit.runners.model.FrameworkMethod$1 .runReflectiveCall(FrameworkMethod.java: 44 )

    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15 )

    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41 )

    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20 )

    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28 )

    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31 )

    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70 )

    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44 )

    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180 )

    at org.junit.runners.ParentRunner.access$000 (ParentRunner.java: 41 )

    at org.junit.runners.ParentRunner$1 .evaluate(ParentRunner.java: 173 )

    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28 )

    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31 )

    at org.junit.runners.ParentRunner.run(ParentRunner.java:220 )

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46 )

    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38 )

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467 )

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683 )

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390 )

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197 )

    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? ?±n????#??1}?M????/'dG???zPd m7??‘*4??@?8ê§??à????‘6m?-?

    E?OH??A?—6tl?iq?' at line 1

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1051)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)

    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)

    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)

    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)

    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1364)

    at com.frameworkset.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)

    at com.frameworkset.common.poolman.PreparedDBUtil.innerExecute(PreparedDBUtil.java:1223)

    at com.frameworkset.common.poolman.PreparedDBUtil.executePrepared(PreparedDBUtil.java:1578)

    at com.frameworkset.common.poolman.PreparedDBUtil.executePrepared(PreparedDBUtil.java:924)

    at com.frameworkset.mysql.mysql.testBlobWrite(mysql.java:157)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:585)

    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)

    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44)

    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)

    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)

    at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)

    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

    at org.junit.runners.ParentRunner.run(ParentRunner.java:220)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)

    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

    可以使用版本mysql-connector-java-3.1.14-bin.jar,执行就不报错。

    展开全文
  • 在实现类中JtdsPreparedStatement我调用的方法并没有实现,直接抛出异常,所以调用int方法可以... public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { // TODO Auto-gener...

    在实现类中JtdsPreparedStatement我调用的方法并没有实现,直接抛出异常,所以调用int方法可以解决此问题。

    @Override
        public void setBinaryStream(int parameterIndex, InputStream x)
                throws SQLException {
            // TODO Auto-generated method stub
            throw new AbstractMethodError();
        }
    
        /* (non-Javadoc)
         * @see java.sql.PreparedStatement#setBinaryStream(int, java.io.InputStream, long)
         */
        @Override
        public void setBinaryStream(int parameterIndex, InputStream x, long length)
                throws SQLException {
            // TODO Auto-generated method stub
            throw new AbstractMethodError();
        }
    @Override
        public void setBinaryStream(int parameterIndex, InputStream x, int length)
            throws SQLException {
            checkOpen();
    
            if (x == null || length < 0) {
                setBytes(parameterIndex, null);
            } else {
                setParameter(parameterIndex, x, java.sql.Types.LONGVARBINARY, 0, length);
            }
        }
    展开全文
  • 在往blob字段中存入附件时,调用BLOB的setBinaryStream方法, 确定字段类型blob。本地环境没有任何问题, 线上就会返回为null,参数0或1都试过 ``` blob.setBinaryStream(1); ```
  • 需求:需要运用到PreparedStatement对象中的setBinaryStream(int paramenterIndex,InputStream x);该方法用于指定 参数传入二进制输入流,从而可以实现将Blob数据保存到数据库的功能 其中mediumblob对象可以...

    PreparedStatement|类是预编译的Statement对象。当要执行多条语句时,且每条语句的结构相似时,可以利用此类
    PreparedStatement show;
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url,user,pass);
    show = conn.prepareStatement(“select img_data from imgtable “+” where img_id = ?”) ;}

    ResultSet rs = show.executeQuery() 在函数里面不用再输入查询的语句,直接就可以查询
    

    其中你的问好进行传入功能
    show.setInt(1,6); 前面的1为第几个问哈,6为传入的数值,还有其他的形式setXxx格式,用于?是什么类型

    其中,当数据库要进行进行字节的操作时
    需求:需要运用到PreparedStatement对象中的setBinaryStream(int paramenterIndex,InputStream x);该方法用于指定
    参数传入二进制输入流,从而可以实现将Blob数据保存到数据库的功能
    其中mediumblob对象可以存储16MB的内容 blob类型最多能存储64KB的内容

    综上来连接数据库,当要查询图片的时候,利用上述代码输入id号即可查看图片
    例如:show.setInt(1,1);编号为1的图片为
    代码显示
    try(
    //执行查询
    ResultSet rs = show.executeQuery()){
    if(rs.next()) {
    //取出blob列
    Blob imgBlob = rs.getBlob(1);
    //取出Blob列的数据
    ImageIcon icon = new ImageIcon(imgBlob.getBytes(1L, (int)imgBlob.length()));
    imageLabel.setIcon(icon);
    System.out.println(“显示成功!”);
    }
    其中imageLabel
    JLabel imageLabel = new JLabel();
    panel.add(new JScrollPane(imageLabel) ,BorderLayout.CENTER);//为标签设置滚轮

    展开全文
  • 当数据库字段为blob类型时,我们如果使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法需要注意在向blob字段类型中插入数据时,要使用javaio的inputstream,读入文件。而相反从blob字段中读出数据...
  • 版本原因导致的问题,需要替换c3p0的jar包版本。 例如:更换 c3p0-0.9.1.jar 为 c3p0-0.9.2.1.jar 解决。
  • 当数据库字段为text\blob类型时 ,我们如果使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法需要注意 在向test\blob字段类型中插入数据时,要使用javaio的inputstream,读入文件。 而相反从...
  • hibernate存储图片时,报错:java.lang.AbstractMethodError: com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V, 代码如下: Students s=new Students(1,"张三丰","男",new Date(),...
  • com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V 写上传文件时报错 最后查到是版本问题 c3po的版本改后解决问题
  • 当数据库字段为blob类型时 ,我们如果使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法需要注意 在向blob字段类型中插入数据时,要使用javaio的inputstream,读入文件。 而相反从blob字段中...
  • 转自:...This section describes how to insert BLOB values with the PreparedStatement.setBinaryStream() method. If you want to insert the ent
  •  ps.setBinaryStream(2, is,is.available());  System.out.print(ps.execute()); presentation:Exception in thread "main" java.sql.SQLException: You have an error in your SQL syntax; check the...
  • check the manual that corresponds to your MySQL server version for the right syntax to use near '? ?±n????#??...
  • 当数据库字段为blob类型时 ,我们如果使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法需要注意 在向blob字段类型中插入数据时,要使用javaio的inputstream,读入文件。 而相反...
  • 今天在测试向SQL Server数据库中写入image数据时,出错异常... java.lang.AbstractMethodError:com.microsoft.jdbc.base.BasePreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V出错代码是:stat.setBinary...
  • 当数据库字段为blob类型时 ,我们如果使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法需要注意 在向blob字段类型中插入数据时,要使用javaio的inputstream,读入文件。 而相反从blob字段中...
  • hibernate4.2.4,向mysql插入blob数据时出现该异常。 更换 c3p0-0.9.1.jar 为 c3p0-0.9.2.1.jar 解决。
  • java.lang.AbstractMethodError: com.mysql.jdbc.ServerPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V 异常处理方案: Depending on your jdbc driver version the followin
  • pstmt.setBinaryStream(2,FileBytes); //Storing binary data in blob field. pstmt.setString(3,filename); //Storing binary data in blob field. success = pstmt.executeUpdate(); System.out.println("after ...
  • Statement.executeUpdate(), Statement.executeQuery() as well as all PreparedStatement and CallableStatement parameters with the exclusion of parameters set using setBytes(), setBinaryStream(), ...
  • OutputStream out = blob.setBinaryStream(1L); byte[] buffer = new byte[1024]; int length = -1; while ((length = in.read(buffer)) != -1){ out.write(buffer,length); } in.close(); out.close(); conn....
  • 将流放入blob OutputStream out = image.setBinaryStream(1); //3.读取图片,并写入输出流 FileInputStream fis = new FileInputStream(path); byte []buf = new byte[1024]; int len = 0; while((len=fis.read(buf))...
  • 通过Java向数据库存和取图片

    千次阅读 2021-05-31 13:20:41
    //设置第一个问号对应的值 //statement.setBinaryStream(1,bis,bis.available()); statement.setString(2,"空荡的房间");//设置第二个问好对应的值 int r=statement.executeUpdate();//执行SQL语句; if(r>0){ System...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,554
精华内容 1,821
关键字:

setbinarystream