这个页面接收上一个页面传过来的参数后,执行插入到数据库的操作,可是总是出错,要么就是插入到数据库中之后插入的不正确.请教一下高手,到底错在哪里啊?或者是有更方便的插入的方法,请赐教偶啊!
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();
%>
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();
%>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货