这个页面接收上一个页面传过来的参数后,执行插入到数据库的操作,可是总是出错,要么就是插入到数据库中之后插入的不正确.请教一下高手,到底错在哪里啊?或者是有更方便的插入的方法,请赐教偶啊!
insert.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*,java.util.*,java.text.*,java.io.*,com.sun.image.codec.jpeg.*" %>
<%
String content = request.getParameter("content");
content=new String(content.getBytes("ISO-8859-1"),"gb2312"); String filename = request.getParameter("image");
filename = new String(filename.getBytes("ISO-8859-1"),"gb2312"); String detail=request.getParameter("txtmail");
detail=new String(detail.getBytes("ISO-8859-1"),"gb2312");
 
//String sql = "insert into image(caption,content,image) values('"+content+"','"+detail+"','"+str+"')";

Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/newsissuance?user=root&password="); java.io.File file = new File(filename);
FileInputStream str = new FileInputStream(file);
PreparedStatement pstmt=conn.prepareStatement("insert into image(content,detail,image) values(?,?,?)");
pstmt.setString(1,content);
pstmt.setString(2,detail);
pstmt.setBinaryStream(3,str,(int)file.length());
//pstmt.setBinaryStream(3,str,str.available());
pstmt.executeUpdate();
pstmt.close();
str.close();
%>

解决方案 »

  1.   

    把数据库的代码放到try里面去,然后把出错的信息铁出来!
      

  2.   

    Syntax error or access violation message from server: "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 '麛魚{L楸?\0 h快$/s\'&#59467;?0瞁)i馯鼽}?\0S怇欓Vp?\0瞈'&#59467;^J歶?\0?i撠o郊? at line 1"这就是显示的错误,如果不加这一段代码pstmt.setBinaryStream(3,str,(int)file.length());就可以正确插入,加上之后就是HTTP500错误