Stack Overflow en español Asked on January 5, 2022
Mi problema es que me retorna un valor nulo,hay algun error en el preparedstatement que no me lo deja ejecutar y no puedo encontrar que es.
private final String CONSULTA_DATOS="SELECT * FROM ?";
public ResultSet getResultNegocio() {
ResultSet rs = null;
try {
PreparedStatement s=getConexionNegocio().prepareStatement(CONSULTA_DATOS);
s.setString(1, "VENTA");
return s.executeQuery();}
catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error con la consulta preparada");}
return null;}
Tu código no funcionará de ese modo porque no se permite pasar nombres de tablas, de columnas, de bases de datos u otros como parámetros, únicamente se pueden pasar parámetros para valores.
Si lo piensas bien, no tiene ningún sentido querer pasar como parámetro el nombre de la tabla VENTAS
cuando lo puedes incorporar directamente a la consulta:
private final String CONSULTA_DATOS="SELECT * FROM VENTAS";
Y, si fuese una variable, igual, la concatenas a CONSULTA_DATOS
y listo.
Prueba así:
private final String CONSULTA_DATOS="SELECT * FROM VENTAS";
public ResultSet getResultNegocio() {
ResultSet rs = null;
try {
PreparedStatement s=getConexionNegocio().prepareStatement(CONSULTA_DATOS);
return s.executeQuery();}
catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error con la consulta preparada");}
return null;}
Salvo otros errores, debería funcionar.
Answered by A. Cedano on January 5, 2022
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP