exception java.sql.sqlexception:无法在位置(…)设置参数惠特马里亚布

waxmsbnn  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(293)

下面的代码抛出了一个异常,通过使用mariadb管理器,这与mysql没有通过,允许我做executeupdate,但不执行。事实上,我一直在寻求解决办法,但没有一个是我的情况,因为我没有犯任何这些错误。已经重新安装了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处设置参数(值为'madrid')查询-conn:8(m) -“从t客户端中选择codigocliente、empresa、poblacion,其中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)

ghhkc1vu

ghhkc1vu1#

代替 ps = conexion.prepareStatement("SELECT CODIGOCLIENTE, EMPRESA, POBLACION FROM tclientes WHERE POBLACION='?';") 具有 ps = conexion.prepareStatement("SELECT CODIGOCLIENTE, EMPRESA, POBLACION FROM tclientes WHERE POBLACION=?;") 注意:我已删除 '' 周围 ?

ao218c7q

ao218c7q2#

把你的问号周围的引号去掉 PreparedStatement ```
ps = conexion.prepareStatement("SELECT CODIGOCLIENTE, EMPRESA, POBLACION FROM tclientes WHERE POBLACION=?;");

相关问题