• 更新MySQL数据库( java.sql.SQLException: No value specified for parameter 1) 异常 解决方法


    package com.swift;
    
    import java.io.File;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.util.List;
    
    import com.google.gson.Gson;
    
    public class UpdateUrl {
    
        public static void main(String[] args) {
    
            File file = new File("D:\java_date", "questionJson.json");
            String jsonResult = GetData.getData(file);
            Gson gson = new Gson();
            Root root = gson.fromJson(jsonResult, Root.class);
            List<Result> result = root.getResult();
            updateUrl(result);
        }
    
        private static void updateUrl(List<Result> result) {
    
            Connection conn = DBUtil.getConn();
            PreparedStatement ps = null;
            try {
                
                ps = conn.prepareStatement("update sw_question set url = ? where id=?)");
                for (int i = 0; i < result.size(); i++) {
                    String str=result.get(i).getUrl();
                    int id=result.get(i).getId();
                    if (str != null && str.length() > 0) {
                        ps.setString(1, str.substring(str.lastIndexOf("/")+1));//图片的URL地址截图成图片名称后更新数据库
                        ps.setInt(2, id);
                    }
                    ps.executeUpdate();
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.closeAll(conn, ps, null);
            }
        }
    }

    更新数据库url字段出错

    修改代码如下:

    package com.swift;
    
    import java.io.File;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.util.List;
    
    import com.google.gson.Gson;
    
    public class UpdateUrl {
    
        public static void main(String[] args) {
    
            File file = new File("D:\java_date", "questionJson.json");
            String jsonResult = GetData.getData(file);
            Gson gson = new Gson();
            Root root = gson.fromJson(jsonResult, Root.class);
            List<Result> result = root.getResult();
            updateUrl(result);
        }
    
        private static void updateUrl(List<Result> result) {
    
            Connection conn = DBUtil.getConn();
            PreparedStatement ps = null;
            try {
                
                ps = conn.prepareStatement("update sw_question set url = ? where id=?");
                for (int i = 0; i < result.size(); i++) {
                    String str=result.get(i).getUrl();
                    System.out.println(str);
                    int id=result.get(i).getId();
                    if (str != null && str.length() > 0) {
                        int number=str.lastIndexOf("/")+1;
                        System.out.println(number);
                        String change=str.substring(number);
                        System.out.println(change);
                        ps.setString(1, change);
                        ps.setInt(2, id);
                        ps.addBatch();
                    }
                }
                ps.executeBatch();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.closeAll(conn, ps, null);
            }
        }
    }
  • 相关阅读:
    14-快速排序
    linux上挂在windows的共享文件系统,大小写不敏感
    【mount】linux挂共享盘
    监控windows服务或者进程
    自定义时间间隔
    示例
    filebeat
    kafka
    文档碎片
    简单DOM操作
  • 原文地址:https://www.cnblogs.com/qingyundian/p/7627239.html
Copyright © 2020-2023  润新知