java 数据库保存图片文件抛出异常
String sql="insert into img values(1,?)";
PreparedStatement insert=con.prepareStatement(sql);
File fimg=new File("son.jpg");
InputStream fi=new FileInputStream(fimg);
insert.setBinaryStream(1, fi, (int)fimg.length());
insert.executeUpdate();
一执行就抛出:
Exception in thread "main"
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 '??+F???,?v?{è?‘k!?¨?é??r????E???…è??Gè???4{?>???)?M3????????è??Yè?±+?????’+' at line 1
at
com.mysql.jdbc.SQLError.create
SQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
at Javatest.main(Javatest.java:90)
提示说语法错误。我怎么也看不出是啥语法错误,用的是mysql 数据库
------解决方案--------------------
如何直接使用access数据库中的图片
目前我学会了读取数据库中的图片,就是把库中的图片保存在自建的图片文件中,可是如何直接读取图片显示在控件上,省去存放图片。
------解决方案--------------------
数据库只存图片的地址,不存图片本身。你把那个地址从数据库中读出来 通过image标签就可以读取到你那个地址的文件夹中的图片
------解决方案--------------------
这就没必要了。你如果真把图片存数据库了,抛开做法不规范来说。你要重新显示出来,还得做一个文件传输流的操作来还原图片。更麻烦
------解决方案--------------------
没法直接读出图片的。我不知道spring框架有没有带这个功能。你可以上网搜下。图片多。可以存服务器的文件夹啊。设置个权限就好了。数据库不见得比文件夹安全。
------解决方案--------------------
就是把图片放在文件夹中。数据库中只存地址。。
如果照你这么做,你首先要用流来还原文件,然后可能还需要自己定义标签。。很麻烦