Javatpoint Logo

Why I am geeting SQL in below Program Error: Invalid column index?

By: intech*** On: Sat Jan 30 12:49:03 IST 2016     Question Reputation0 Answer Reputation0 Quiz Belt Series Points0  0Blank User
package com.dinesh.admin;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@SuppressWarnings("serial")
@WebServlet("/download")

public class FileDownload extends HttpServlet {


private static final int BUFFER_SIZE = 4096;

private String dbURL = "jdbc:oracle:thin:@localhost:1521:xe";
private String dbUser = "system";
private String dbPass = "system";

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

String BOOKID = "BOOKID";

Connection conn = null;
System.out.println("-------------Connection");

try {
System.out.println("-------------try Block");
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(dbURL, dbUser, dbPass);
PreparedStatement statement = conn.prepareStatement("SELECT bookId,bookConent,bookTitle from book where BOOKID='?'");

statement.setString(1, BOOKID);
System.out.println("-------------result:1");
ResultSet result = statement.executeQuery();


if (result.next()) {
// gets file name and file blob data
Blob lob =null;
lob = result.getBlob("BOOKCONTENT");

InputStream inputStream = lob.getBinaryStream();
int fileLength = inputStream.available();

/*System.out.println("fileLength = " +fileLength);*/

ServletContext context = getServletContext();
String BOOKTITLE = result.getString("BOOKTITLE");
String mimeType = context.getMimeType(BOOKTITLE);
if (mimeType == null) {
mimeType = "application/octet-stream";
}


response.setContentType(mimeType);
response.setContentLength(fileLength);
String headerKey = "Content-Disposition";
String headerValue = String.format("BOOKCONENT; BOOKTITLE=\"%s\"", BOOKTITLE);
response.setHeader(headerKey, headerValue);

// writes the file to the client
OutputStream outStream = response.getOutputStream();

byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead = -1;

while ((bytesRead = inputStream.read(buffer)) != -1){
outStream.write(buffer, 0, bytesRead);
}

inputStream.close();
outStream.close();
} else {
// no file found
response.getWriter().print("File not found for the id: " + BOOKID);
}
} catch (SQLException ex) {
ex.printStackTrace();
response.getWriter().print("SQL Error: " + ex.getMessage());
System.out.println("-------------catch");

} catch (IOException ex) {
ex.printStackTrace();
response.getWriter().print("IO Error: " + ex.getMessage());
} finally {
if (conn != null) {
// closes the database connection
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
Up0Down
core java  x  328jsp  x  93Tags