#java #sql #jsp
#java #sql #jsp
Вопрос:
Я использую хранимые процедуры для поиска идентификатора пользователя, но при поиске person он указывает, что он равен null, я не понимаю, почему это указывает, что значение равно null, в этой строке кода cs.SetInt (1, identificationNumber); уже имеет значение
public Cliente buscarCliente(int numeroIdentificacion) throws ClassNotFoundException {
// Instancia de la clase Cliente
Cliente c = null;
// Declaracion de variables
Connection con = Conectar();
ResultSet rs = null;
CallableStatement cs = null;
int resultado = 0;
try {
cs = con.prepareCall("{call dbo.SPBuscarCliente(?)}");
cs.setInt(1, numeroIdentificacion);
resultado = cs.executeUpdate();
rs = cs.executeQuery();
while(rs.next()){
c = new Cliente();
c.setId(rs.getInt(1));
c.setNumeroIdentificacion(rs.getInt(2));
c.setNombre(rs.getString(3));
c.setPrimerApellido(rs.getString(4));
c.setSegundoApellido(rs.getString(5));
c.setDireccion(rs.getString(6));
c.setEstado(rs.getString(7));
}
} catch (SQLException e){
System.err.println(e);
}
return c;
}
Это моя процедура хранения
ALTER PROCEDURE [dbo].[SPBuscarCliente]
-- Declaracion de variables
(@NumeroIdentificacion AS INT)
AS
BEGIN
SELECT * FROM Cliente WHERE NumeroIdentificacion = @NumeroIdentificacion
END
Комментарии:
1. Некоторые sql-серверы не используют { … } при вызове из java. Попробуйте снять брекеты.
2. Почему вы работаете с хранимой процедурой, а не непосредственно с sql?
3. Пожалуйста, добавьте полную трассировку стека