java存图片mysql异常

hx2044 2007-12-12 08:59:45
mysql 的建的表
create table abc (a int,b longblob,c char(2));

jsp页面代码

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%@ page import="Model.DataAccess.DBBean"%>
<%
Connection con=DBBean.getConnection();
//插入数据库
String sql="insert into abc (a,c,b) values (?,?,?)";

//转换成file格式
File filename=new File("F:\\Tomcat\\webapps\\EP\\12.jpg");

//将文件的长度读出,并转换成Long型
long l1=filename.length();
int l2=(int)l1;
//以流的格式赋值
FileInputStream fis=new FileInputStream(filename);
PreparedStatement pstm =con.prepareStatement(sql);

pstm.setInt(1,1);
pstm.setString(2,"d");
// pstm.setBinaryStream(3,fis,l2); 这种方法试了不行,换下面的也不行
pstm.setBinaryStream(3,fis,fis.available());
pstm.executeUpdate();
pstm.close();
fis.close();
DBBean.close(con);
out.println("ok!!!");
%>

//出现的异常
java.sql.SQLException: 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 '轔��鳆�囚\"篿躥X0ra寫枝襱.m铑阢蓺iK~駟�?M猲鏁�,/屈9OsìQ<盰枢矊�$夂' at line 1
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2851)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1534)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1625)
com.mysql.jdbc.Connection.execSQL(Connection.java:2297)
com.mysql.jdbc.Connection.execSQL(Connection.java:2226)
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1812)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1906)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1831)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1693)
org.apache.jsp._123_jsp._jspService(_123_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)
...全文
151 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghpipi 2011-09-19
  • 打赏
  • 举报
回复
我也是这种问题~求解啊
lxbnana 2010-07-29
  • 打赏
  • 举报
回复
我在5.0也出现同样的问题 有人解决没额
hx2044 2007-12-13
  • 打赏
  • 举报
回复
mysql5.0的就可以,4.0就出现这种错误,求到底哪里错了,要怎么改?????
黑夜愁客 2007-12-12
  • 打赏
  • 举报
回复
知识是贯通的。看看数据库怎么建的吧。
还有你的好像乱码了。检查语法
hx2044 2007-12-12
  • 打赏
  • 举报
回复
看了楼上的网址内容,好象和我的解决方案没太大帮助,我还是不明白为什么不好用
可能是MYSQL版本太低,不支持,有没有遇到过这样问题的人,给我解决以下,非常感谢,
还有我想知道自己的点数在哪里看啊,

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧