我的错误:
java.lang.AbstractMethodError: Method oracle/jdbc/driver/OraclePreparedStatement.setBlob(ILjava/io/InputStream;)V is abstract
at oracle.jdbc.driver.OraclePreparedStatement.setBlob(OraclePreparedStatement.java)
at controller.control_gambar.addGambar(control_gambar.java:35)
我的代码:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
Login login = (Login) session.getAttribute("login");
{
String message = null;
String question = request.getParameter("question");
String status = request.getParameter("status");
String teacher_id = login.getCuba();
String level_id = request.getParameter("level_id");
String topic_id = request.getParameter("topic_id");
String[] answer = request.getParameterValues("mytext");
System.out.println("mana dia hg mai sat" + topic_id);
System.out.println("mana dia hg mai sat" + level_id);
System.out.println("mana dia hg mai sat" + status);
String[] pegang = request.getParameterValues("marks");
int[] markah = new int[pegang.length];
for (int i = 0; i < pegang.length; i++) {
markah[i] = Integer.parseInt(pegang[i]);
System.out.println("marka:" + markah[i]);
}
for (int index = 0; index < markah.length; index++) {
System.out.println(markah[index]);
}
//for insert question
question_sub question_sub1 = new question_sub();
question_sub1.setQuestion(question);
question_sub1.setStatus(status);
question_sub1.setTeacher_id(teacher_id);
question_sub1.setLevel_id(level_id);
question_sub1.setTopic_id(topic_id);
//for insert answer
answer question_sub3 = new answer();
question_sub3.setAnswer(answer);
question_sub3.setMark(markah);
//for insert gambar
Part filePart =request.getPart("image");
testimage testimage1=new testimage();
InputStream inputStream=null;
if(filePart != null){
System.out.println(filePart.getName());
System.out.println(filePart.getSize());
System.out.println(filePart.getContentType());
inputStream =filePart.getInputStream();
}
testimage1.setGambar(inputStream);
testimage1.setId("abc");
try {
Facade facade = new Facade();
ArrayList<sub_topic> sub_topicssss = facade.getsub_topic();
sub_topic[] temp = new sub_topic[sub_topicssss.size()];
request.setAttribute("sub_topicssss",sub_topicssss.toArray(temp));
ArrayList<subject> subjectttt = facade.getsubject();
subject[] tempp = new subject[subjectttt.size()];
request.setAttribute("subjectttt",subjectttt.toArray(tempp));
int status1 = facade.addquestion_sub(question_sub1);
int status2 = facade.addanswer(question_sub3);
int status3 =facade.addGambar(testimage1);
if (status1 != -1) {
message = "<h2 style='color:red'>Success</h2>";
} else {
message = "<h2>Fail</h2>";
}
if (status2 != -1) {
message = "<h2 style='color:red'>Success</h2>";
} else {
message = "<h2>Fail</h2>";
}
if (status3 != -1) {
message = "<h2 style='color:red'>Success</h2>";
} else {
message = "<h2>Fail</h2>";
}
facade.closeConnection();
} catch (SQLException e) {
e.printStackTrace();
request.setAttribute("message",
"<h2 style='color:red'>" + e.getMessage() + "</h2>");
request.getRequestDispatcher("WEB-INF/addquestion.jsp")
.forward(request, response);
} finally {
request.setAttribute("message", message);
request.getRequestDispatcher("WEB-INF/addquestion.jsp").forward(request, response);
}
}
}
在我的控制器中
public int addGambar(testimage testimage1) throws SQLException {
//Blob img;
//byte [] imgdata=null;
Connection connection = facade.getConnection();
PreparedStatement ps = connection.prepareStatement("insert into testimage (id,gambar) values (?,empty_blob()) returning gambar into ?");
ps.setString(1,testimage1.getId());
ps.setBlob(2, testimage1.getGambar());
System.out.println("nie dalam controller gambar");
System.out.println(testimage1.getId());
System.out.println("nie dalam controller gambar");
int status4 = ps.executeUpdate();
return status4;
}