Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
异常java.sql.SQLException:无法在位置(…)设置参数。怀特马里亚布_Java_Mysql_Mariadb - Fatal编程技术网

异常java.sql.SQLException:无法在位置(…)设置参数。怀特马里亚布

异常java.sql.SQLException:无法在位置(…)设置参数。怀特马里亚布,java,mysql,mariadb,Java,Mysql,Mariadb,下面的代码向我抛出了一个异常,通过使用mariadb管理器,这与mysql没有通过,允许我执行executeUpdate,但不允许执行equery。事实上,我一直在寻求解决方案,但没有一个是我的情况,因为我没有犯任何这些错误。已经重新安装了java和mariadb,仍然不工作。谢谢 这是我的代码: package Conexion; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepare

下面的代码向我抛出了一个异常,通过使用mariadb管理器,这与mysql没有通过,允许我执行executeUpdate,但不允许执行equery。事实上,我一直在寻求解决方案,但没有一个是我的情况,因为我没有犯任何这些错误。已经重新安装了java和mariadb,仍然不工作。谢谢

这是我的代码:

package Conexion;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


public class mainPruebas {

    public static void main(String[] args) 
    {
        String url = "jdbc:mariadb://127.0.0.1:3306/buscadorpersonas?autoReconnect=true&useSSL=false";
        String user = "root";
        String pass = "2222";
        Connection conexion=null;
        PreparedStatement ps=null;
        try {

            conexion = DriverManager.getConnection(url,user,pass);

            ps = conexion.prepareStatement("SELECT CODIGOCLIENTE, EMPRESA, POBLACION FROM tclientes WHERE POBLACION='?';");
            ps.setString(1, "MADRID");
            ResultSet rs = ps.executeQuery();

            while(rs.next()) {
                System.out.println(rs.getString("CODIGOCLIENTE")+" "+rs.getString("EMPRESA")+" "+rs.getString("POBLACION"));
            }

            conexion.close();

        }catch(Exception e) {

            e.printStackTrace();
        }
    }
}
例外情况:

java.sql.SQLException:无法在位置1设置参数(值 是 “马德里”)查询-康涅狄格州:8(M)-“从 t其中POBLACION='?';的客户端。“ 在 org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getSqlException(ExceptionMapper.java:192) 位于org.mariadb.jdbc.MariaDbPreparedStatementClient.setParameter(MariaDbPreparedStatementClient.java:435) 位于org.mariadb.jdbc.BasePrepareStatement.setString(BasePrepareStatement.java:1379) 位于Conexion.mainPruebas.main(mainPruebas.java:22)


删除
PreparedStatement

ps = conexion.prepareStatement("SELECT CODIGOCLIENTE, EMPRESA, POBLACION FROM tclientes WHERE POBLACION=?;");
替换
ps=conexion.prepareStatement(“从客户中选择CodigCliente、EMPRESA、POBLACION,其中POBLACION='?';”)


ps=conexion.prepareStatement(“从客户中选择CodigCliente、EMPRESA、POBLACION,其中POBLACION=?;”)


注意:我已经删除了
周围的

非常感谢,就这样!真遗憾,这件事太简单了,非常感谢,就是这样!真遗憾,事情很简单