• not value specified for parameter问题解决方案


    前段时间遇到这个问题找了半天没有找到,今天又调试了突然发现出现这个问题的根本原因是sql语句中的参数没有赋值或者参数类型与数据库字段类型不匹配所导致的。

    例如:

    String sql = "SELECT ordersId,truename,address,postcode,phone,totalPrice,username,email FROM users,orders"+
    				" WHERE ordersId=? AND users.`userid`=(SELECT orders.`userId` FROM orders WHERE ordersId=?);";
    ps = conn.prepareStatement(sql);

    rs = ps.executeQuery();

      如果这里没有用ps.setXXX(int arg0,int arg1)对sql语句中“?”位置的参数赋值时,就会因为sql语句中参数出现错误抛出java.sql.SQLException异常,

    所以在上面的这段程序中正确的解决办法是在ps=conn.preparedStatement(sql);后面加入一下语句:

    //因为数据库中的对应字段类型为int型,所以这里用setInt()方法对参数赋值,如果数据库中对应字段是vchar类型,设置sql语句中的字段值时要用setString()。
    ps.setInt(1,ordersId);
    ps.setInt(2,ordersId);
    

      

  • 相关阅读:
    Cookie、Session和自定义分页
    logstash 运行
    php json数据保留原样中文
    linux 32位还是64位
    php之isset 与 empty 区别
    php 订单
    个人分类
    laravel 创建自己的函数
    lumen框架导入数据异常
    yum安装samba服务器的安装
  • 原文地址:https://www.cnblogs.com/lihuibin/p/7850837.html
Copyright © 2020-2023  润新知