Foro sobre Java SE > ayuda
La sentencia SQL es errónea. Primero, esta parte de código: "where codigo= AND" no es válida, antes del AND tiene que tener un valor, o "codigo IS NULL" si lo que quieres son los que no tengan código.
Esta parte "nombre=" + tbBeneficiarios.getValueAt(fila,0);" también está mal, contando que sea un String, tienes que introducir comillas simples antes y después para la sentencia SQL:
"nombre = '" + tbBeneficiarios.getValueAt(fila,0) + "'";
Nunca concatenes valores en una consulta, la hace vulnerable a SQLi, a menos que dicha consulta no acceda a datos críticos (aun así no se recomienda). Usa siempre PreparedStatement en lugar de Statement.
String query = "SELECT * FROM beneficiariosbasico WHERE codigo = ? AND nombre = ?";
try (Connection connection = ConnectionHelper.getConnection();
PreparedStatement pst = con.prepareStatement(query)) {
String value = tbBenificarios.getValueAt(X, Y);
pst.setString(1, value);
pst.setString(2, value);
ResultSet rs = pst.executeQuery();
// recorres los resultados y haces algo
while (rs.next()) {
}
} catch (SQLException e) {
// manejas la excepción
}
En el código anterior no es necesario un bloque finally para cerrar conexiones. Las conexiones se cierran automáticamente al finalizar el bloque try.
hola necesito ayuda soy nuevo en java pero tengo una base de datos mysql y quiero hacer una consulta a dos columnas de una tabla desde netbeans este es el codigo pero no me funciona si aplico AND
String sql ="select * from beneficiariosbasico where codigo= AND nombre=" + tbBeneficiarios.getValueAt(fila,0);