日期:2014-05-17  浏览次数:20875 次

java想数据库中导入图片
报错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后面是一通乱码


Connection conn=null;
PreparedStatement ps=null;
    ResultSet rs = null;
    try{
     //建立连接
     conn=TestUtil.getConnection();
     //创建语句
     String sql="insert into table2(big1) values(?)";
     ps=(PreparedStatement) conn.prepareStatement(sql);
     File file=new File("t5 .jpg");
     BufferedInputStream in=new BufferedInputStream(new FileInputStream(file));
    
     ps.setBinaryStream(1, in,(int)file.length());
    
     int i=ps.executeUpdate();
     in.close();
     System.out.println(i);
    
    
    }finally{
     TestUtil.free(rs, ps, conn);
    }
是红色的那句话有问题吗?请问怎么解决啊?应该不是关键字的问题。

------解决方案--------------------
楼主单独执行这条语句有没有报什么异常?!
------解决方案--------------------
原来是乱码啊。。
楼主在数据库的url后(在getConnection方法中)加上"?useUnicode=true&characterEncoding=utf-8"
就ok了。。。。。
------解决方案--------------------
红色的sql语句没有问题,除非你表明列名写错了

请参考2楼
------解决方案--------------------
sql没问题,不过mysql的驱动可能有问题.每个jdbc驱动所能支持的blob类型是不同的,楼主最好到官网上看人家驱动对blob的操作支持。
------解决方案--------------------
加字符过滤器
------解决方案--------------------
可能是驱动有问题,参考:http://yin-bp.iteye.com/blog/727285
------解决方案--------------------
为什么不用uplodify呢??上传文件到特定位置,数据库插入图片地址就行