好吧,我正在执行此操作选择要在哪里搜索数据库的信息。
我正在用Java编程,而我在M中的查询是这样的:

SELECT * FROM detalle_reserva WHERE fechaInicio='2015-08-13' AND id_mesa=4 AND periodo='comida'


它可以在sqlyog上运行,但是当我将其放入程序时,我得到了以下信息:


  您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册,以在第1行的'periodo ='Comida'附近使用正确的语法


我有一个函数,它接收3个变量,分别是:fechaInicio,idMesa和periodo。这是我写的那一行:

 this.sqlConsulta = "select * from detalle_reserva where fechaInicio="+"'"+fechaIni+"'"+"and id_mesa="+idMesa+"and periodo="+"'"+periodo+"'";


谁能告诉我我哪里错了?

这是整个功能:

public ResultSet verificar(String fechaIni,int idMesa, String periodo){
    conectar();
    registro=null;
    try{
        this.sqlConsulta = "select * from detalle_reserva where fechaInicio="+"'"+fechaIni+"'"+"and id_mesa="+idMesa+"and periodo="+"'"+periodo+"'";
        PreparedStatement sentencia = conexion.prepareStatement(sqlConsulta);

      // sentencia.setString(1, periodo);
        registro = sentencia.executeQuery();
         }   catch(SQLException e){
        System.out.println("Error al consultar: " + e.getMessage());
    }
    return registro;
}

最佳答案

您是否偶然忘记了复制分号或故意没有分号?有时您可以省略分号;但是,如果系统感到困惑,那就很重要。

SELECT * FROM detalle_reserva WHERE fechaInicio='2015-08-13' AND id_mesa=4 AND periodo='comida';

10-04 23:19
查看更多