Pessoal estou chamando o método add abaixo, que este chama returnTipoDocID, porém dá o erro:
java.sql.SQLException
Por que será que acontece isto?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mtsys.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import mtsys.db.DatabaseUtil;
import mtsys.db.TiposDocumentos;
/**
*
* @author Marlon Tiedt
*/
public class TiposDocumentosDAO extends DatabaseUtil{
public TiposDocumentosDAO(){
super();
}
public boolean add(TiposDocumentos td) throws ClassNotFoundException, SQLException {
PreparedStatement ps = getPreparedStatement("INSERT INTO TiposDocumentos (TipoID, Descricao) values (?, ?)");
ps.setInt(1, returnTipoDocID());
ps.setString(2, td.getDescricao());
return ps.execute();
}
public boolean set(TiposDocumentos td) throws ClassNotFoundException, SQLException {
PreparedStatement ps = getPreparedStatement("UPDATE TiposDocumentos set Descricao = ? where TipoID = ?");
ps.setString(1, td.getDescricao());
ps.setInt(2, td.getTipoID());
return ps.execute();
}
public boolean delete(TiposDocumentos td) throws ClassNotFoundException, SQLException {
PreparedStatement ps = getPreparedStatement("DELETE FROM TiposDocumentos where TipoID = ?");
ps.setInt(1, td.getTipoID());
return ps.execute();
}
public int returnTipoDocID() throws SQLException, ClassNotFoundException {
ResultSet rs = getStatement().executeQuery("SELECT max(TipoID) + 1 as TipoID from TiposDocumentos");
return rs.getInt(1);
}
public List<TiposDocumentos> getAllTiposDocumentos() throws SQLException, ClassNotFoundException {
List<TiposDocumentos> toReturn = new LinkedList<TiposDocumentos>();
ResultSet rs = getStatement().executeQuery("SELECT * FROM TiposDocumentos");
while (rs.next()){
TiposDocumentos td = new TiposDocumentos();
td.setTipoID(rs.getInt("TipoID"));
td.setDescricao(rs.getString("Descricao"));
toReturn.add(td);
}
return toReturn;
}
}