Pessoal eu estou tendo o seguinte problema com a execução do codigo abaixo. O erro que é apresentado é esse:
java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 0).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3279)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3263)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4087)
at sonix.dao.RouterDAO.addRouter(RouterDAO.java:64)
at sonix.dao.RouterDAO.main(RouterDAO.java:136)
A funcão main esta adicionada no final do codigo.
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package sonix.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
import java.util.Vector;
import sonix.bean.RouterBean;
import sonix.sql.DAOFactory;
/**
*
-
@author rrsilva
*/
public class RouterDAO implements DAORouter {private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
private DAOFactory factory = null;
private Vector vector = null;
private String selectAllRouters = “SELECT * FROM roteadores”;
private String selectRouter = “SELECT * FROM ROTEADORES WHERE idROTEADORES = ?”;
private String countRouters = “SELECT COUNT(idROTEADORES) FROM ROTEADORES”;
private String insertRouter = “INSERT INTO ROTEADORES(idROTEADORES, ENDERECO_ROTEADOR, PORTA_ROTEADOR, USER_ROTEADOR, PASSWORD_ROTEADOR)” +
" VALUES( ?, ?, ?, ?, ?)";
private String deleteRouter = “DELETE FROM ROTEADORES WHERE idROTEADORES = ?”;
private String updateLogin = "UPDATE ROTEADORES SET IDROTEADORES = ?, " +
"ENDERECO_ROTEADOR = ?, " +
"PORTA_ROTEADOR = ?, " +
"USER_ROTEADOR = ?, " +
"PASSWORD_ROTEADOR = ? " +
“WHERE IDROTADORES = ?”;public RouterDAO() throws Exception {
factory = new DAOFactory();
}public RouterBean selectRouter(RouterBean bean) throws Exception {
preparedStatement = factory.preparedStatement(selectRouter);
RouterBean routerBean = new RouterBean();
synchronized (preparedStatement) {
preparedStatement.setInt(1, bean.getId());
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
routerBean.setId(resultSet.getInt(1));
routerBean.setEndereco(resultSet.getString(2));
routerBean.setPort(resultSet.getInt(3));
routerBean.setUser(resultSet.getString(4));
routerBean.setPassword(resultSet.getString(5));
}
}
return routerBean;
}public boolean addRouter(RouterBean bean) throws Exception {
int resultado;
preparedStatement = factory.preparedStatement(insertRouter);
synchronized (preparedStatement) {
preparedStatement.setInt(1, countRouters());
preparedStatement.setString(2, bean.getEndereco());
preparedStatement.setInt(3, bean.getPort());
preparedStatement.setString(4, bean.getUser());
preparedStatement.setString(5, bean.getPassword());
resultado = preparedStatement.executeUpdate();
if (resultado == 1) {
return true;
} else {
return false;
}
}
}public boolean deleteRouter(RouterBean bean) throws Exception {
int resultado;
preparedStatement = factory.preparedStatement(deleteRouter);
synchronized (preparedStatement) {
preparedStatement.setInt(1, bean.getId());
resultado = preparedStatement.executeUpdate();
if (resultado == 1) {
return true;
} else {
return false;
}
}
}public boolean updateRouter(RouterBean bean) throws Exception {
throw new UnsupportedOperationException(“Not supported yet.”);
}public Collection allRouters() throws Exception {
RouterBean bean = null;
vector = new Vector();
preparedStatement = factory.preparedStatement(selectAllRouters);
synchronized (preparedStatement) {
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
bean = new RouterBean();
bean.setId(resultSet.getInt(1));
bean.setEndereco(resultSet.getString(2));
bean.setPort(resultSet.getInt(3));
bean.setUser(resultSet.getString(4));
bean.setPassword(resultSet.getString(5));
vector.addElement(bean);
}
}
return vector;}
private int countRouters() throws SQLException {
int total = 0;
preparedStatement = factory.preparedStatement(countRouters);
synchronized (preparedStatement) {
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
total = resultSet.getInt(1);
}
}
return total++;
}public static void main(String[] args) {
boolean b = false;
try {
RouterDAO dAO = new RouterDAO();
RouterBean bean = new RouterBean();
bean.setEndereco(“192.168.0.1”);
bean.setPort(22);
bean.setUser(“root”);
bean.setPassword(“rootsad”);
b = dAO.addRouter(bean);
System.out.println(b);
} catch (Exception e) {
e.printStackTrace();
}
}
}
[/code]
Alguem poderia me ajudar?
Obrigado
Rafael