gudii9
asked on
PrepareStatement to build query on MYSQL server
Hi,
I would like to use PrepareStatement to build my query by supplying the parameters based on spreadsheet data on mysql database. How can i achieve it.
I wrote my application like
I am getting console output like
rs1-->com.mysql.jdbc.JDBC4 ResultSet@ 1006d75
rec1 is--jim---rec2 is---yyy
e-->java.lang.NullPointerE xception
rs1-->com.mysql.jdbc.JDBC4 ResultSet@ 1ccce3c
rec1 is--bill---rec2 is---zzz
e-->java.lang.NullPointerE xception
since those excel(File.xls) records are already there in login table as well. Now I would like to I would like extend program to use PrepareStatement to build my query by supplying the parameters based on spreadsheet data.
Any ideas, suggestions, sample code, links, source code highly appreciated. Thanks in advance
LoginTable.JPG
File.xls
I would like to use PrepareStatement to build my query by supplying the parameters based on spreadsheet data on mysql database. How can i achieve it.
I wrote my application like
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Iterator;
import java.util.Vector;
import org.apache.poi.hssf.usermodel.HSSFCe ll;
import org.apache.poi.hssf.usermodel.HSSFRo w;
import org.apache.poi.hssf.usermodel.HSSFSh eet;
import org.apache.poi.hssf.usermodel.HSSFWo rkbook;
import org.apache.poi.poifs.filesystem.POIF SFileSyste m;
public class POIRIRaw4EE {
public static void main( String [] args ) {
String fileName="C:\\File.xls";
Vector dataHolder=read(fileName);
checkDatabase(dataHolder);
}
public static Vector read(String fileName) {
Vector cellVectorHolder = new Vector();
try{
FileInputStream myInput = new FileInputStream(fileName);
POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
HSSFSheet mySheet = myWorkBook.getSheetAt(0);
Iterator rowIter = mySheet.rowIterator();
while(rowIter.hasNext()){
HSSFRow myRow = (HSSFRow) rowIter.next();
Iterator cellIter = myRow.cellIterator();
Vector cellStoreVector=new Vector();
while(cellIter.hasNext()){
HSSFCell myCell = (HSSFCell) cellIter.next();
cellStoreVector.addElement(myCell);
}
cellVectorHolder.addElement(cellStor eVector);
}
}catch (Exception e){e.printStackTrace(); }
return cellVectorHolder;
}
private static void checkDatabase(Vector dataHolder) {
String username="";
String password="";
PreparedStatement pstmt = null;
for (int i=1;i<dataHolder.size(); i++){
Vector cellStoreVector=(Vector)dataHolder.e lementAt(i );
HSSFCell myCell = (HSSFCell)cellStoreVector.elementAt( 0);
String stringCellValue = myCell.toString();
username = stringCellValue;
myCell = (HSSFCell)cellStoreVector.elementAt( 1);
stringCellValue = myCell.toString();
password=stringCellValue;
//System.out.println("value username--->"+username);
//System.out.println("value password-->"+password);
try{
Class.forName("com.mysql.jdbc.Driver ").newInst ance();
Connection con = DriverManager.getConnection("jdbc:my sql://loca lhost:3306 /test","ro ot", "root");
Statement stmt = con.createStatement();
ResultSet rs1 = stmt.executeQuery("select * from login where username='"+username+"' and password='"+password+"'");
System.out.println("rs1-->"+rs1);
while (rs1.next()){
String rec1 = rs1.getString(1);
String rec2 = rs1.getString(2);
System.out.println("rec1 is--"+rec1+"---rec2 is---"+rec2);
}
pstmt.close();
con.close();
}
catch(Exception e){
System.out.println("e-->"+e);
}
}
}
}
I am getting console output like
rs1-->com.mysql.jdbc.JDBC4
rec1 is--jim---rec2 is---yyy
e-->java.lang.NullPointerE
rs1-->com.mysql.jdbc.JDBC4
rec1 is--bill---rec2 is---zzz
e-->java.lang.NullPointerE
since those excel(File.xls) records are already there in login table as well. Now I would like to I would like extend program to use PrepareStatement to build my query by supplying the parameters based on spreadsheet data.
Any ideas, suggestions, sample code, links, source code highly appreciated. Thanks in advance
LoginTable.JPG
File.xls
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.