java.sql.SQLException:参数索引超出范围(2 > 参数数量,即 0)

2024-01-01

public class Brothers extends javax.swing.JFrame {

    /**
     * declaring connection and SQL statement
     */

    Connection cn;
    Statement st;
    PreparedStatement pstmt=null;
    PreparedStatement pst;
    ResultSet rs;
    Object fname, mname, lname, bdate, nation, statusq,InstNo,  photo, combo, place, mimi; 
    int status;



    public Brothers() {        
        dbconnect _db = new dbconnect();

/*//////////////the above is just to show that I have two prepared statement each for each sql statement that i have //////////*/
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //String unicode= "?useUnicode=yes&characterEncoding=UTF-8";
            cn = DriverManager.getConnection(_db.getHost(), _db.getUsername(), _db.getPassword());
            st=cn.createStatement(); 

 try{

        String Sql="INSERT INTO brothers(FirstName, MiddleName, LastName, BirthDate, BirthPlace, Nationality, InstituteNumber, Status, Picture) VALUES(?,?,?,?,?,?,?,?,?)";  
        pstmt=cn.prepareStatement(Sql);
        //pstmt.setString(1,txtTrial.getText());('?','?','?','?','?','?','?','?','?')
        pstmt.setString(2,txtFirtsName.getText());
        pstmt.setString(3,txtMiddleName.getText());
        pstmt.setString(4,txtLastName.getText());
        pstmt.setString(5,((JTextField)chooserBirthDate.getDateEditor().getUiComponent()).getText());
        pstmt.setString(6,txtPlacBirth.getText());

        String nations=combonation.getSelectedItem().toString();
        pstmt.setString(7,nations);
        pstmt.setString(8,txtInstituteNo.getText());


        pstmt.setObject(9,combostatus.getSelectedItem());
        pstmt.setBytes(10, person_image);

      pstmt.executeUpdate(Sql);

        JOptionPane.showMessageDialog(null, "Saving Successfull");

        }

        catch(Exception e){

          //JOptionPane.showMessageDialog(null, e);
          e.printStackTrace(); 
    }  

当我尝试使用上面的代码插入数据时,它会抛出异常:

java.sql.SQLException: Parameter index out of range (10 > number of parameters, which is 9).
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
    at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3813)
    at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3795)

我试图查看它,但我找不到问题,请帮助!


您从位置 2 而不是 1 开始插入

 pstmt.setString(2,txtFirtsName.getText());

将其更改为

pstmt.setString(1,txtFirtsName.getText());

对最后一个所在的其他人执行相同的操作

pstmt.setBytes(9, person_image);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.sql.SQLException:参数索引超出范围(2 > 参数数量,即 0) 的相关文章

随机推荐

  • C# 中的 TimeSpan 到本地化字符串

    有没有一种简单的方法 可能是内置的解决方案 来转换TimeSpan本地化字符串 例如new TimeSpan 3 5 0 将被转换为3 hours 5minutes 仅用波兰语 我当然可以创建自己的扩展 public static stri
  • 计算数据框中某列的百分比 - 按列“分组”

    我是 R 初学者 我需要能够计算数据框中值的百分比 但经常按其他列值 分组 我有一个大约 1000 行的数据框 包含媒体类型 版本 集合 年份 和计数 今年 我可以过滤它们 只获取特定的媒体 trSpdf lt trS trS Mediat
  • 同时进行多个异步回发 - ASP.NET

    说我有2个UpdatePanels在页面和每个UpdatePanel有一台服务器Button每个 当我单击第一个按钮 然后单击第二个按钮并查看 Firebug 时 我发现直到第一个按钮完成后才触发第二个异步回发 这是否按预期工作 我的理解是
  • Excel VBA打印机API,设置颜色和双面打印

    这是我的问题 我正在尝试访问打印机并更改颜色和双面设置 到目前为止 我拥有的代码允许我更改网络打印机的用户首选项 但我有以下两个问题 1 代码将打印机按预期设置为单面或双面 但未正确设置颜色首选项 2 Excel不会自动选择新设置 我仍然需
  • 如何使用 Spring security 创建自己的安全过滤器?

    我想知道是否可以使用 Spring Security API 在 Spring Web 应用程序中创建自己的安全过滤器 我想创建一个通用的安全过滤器 以便只需在 web xml 中添加该过滤器即可将其用于 插入 任何 Web 应用程序 安全
  • 如何动态分配函数代码?

    在 C 语言中 函数指针作为来自某个库的回调的通常途径是包含一个void 用户上下文的指针 void fp void ctx 允许库使用上下文调用回调ctx 假设我使用的库在回调中不包含上下文指针 我需要为每个上下文进行一个回调 在 C 中
  • Cordova Wrapper 应用程序,内部链接在应用程序中加载,外部链接在浏览器中加载

    我有一个简单的Cordova https cordova apache org 包装器应用程序指向外部网页 而不定义任何自己的视图 我想来自该域的所有内部链接都将加载到应用程序内 but 所有外部链接 http twitter com ht
  • 自定义 ostream

    我需要一些指导或指示来了解如何实现自定义 ostream 我的要求是 具有适用于多种数据类型的 目的是将输出发送到数据库 每个 行 应该进入一个单独的记录 每个记录最重要的字段是文本 或 blob 但其他一些字段 例如时间等 大多可以自动推
  • 如何在Cycle.js中顺序请求数据?

    我是响应式编程的新手 正在尝试使用cycle js 试图实现谁关注框本教程 https gist github com staltz 868e7e9bc2a7b8c1f754 但我知道 为了正确实施 和学习目的 我没有一项数据 完整的用户名
  • 使用 jquery 将类添加到父 div

    这应该相当容易 但由于某种原因我很挣扎 我有以下 html 结构 div class div div class changevid div 我想要的是当单击changevid时 应该在子内容之后添加一个名为 active 的类 my co
  • r data.table 就地连接多列

    data table是惊人的 我想进行就地联接 但保留两个表中的所有列 这个问题 https stackoverflow com questions 34598139 left join using data table 34600831演
  • MVC2 的 ASP.Net MVC Future 刷新

    随着 MVC2 的发布 MVC Futures 库的更新包含哪些值得注意的功能 MVC Futures 有两个版本与 MVC 2 RTM 并存 其中一个版本针对 NET 3 5 另一个目标是 NET 4 NET 4 版本不是 NET 3 5
  • 带返回值的 Hangfire 后台作业

    我要从Task Run https msdn microsoft com en us library hh195051 28v vs 110 29 aspx to Hangfire http docs hangfire io en late
  • 简单的 get/post 请求在 python 3 中被阻止,但在 python 2 中则不然

    我正在 python 3 中开发一个简单的网络抓取工具 但是当我发送 get 或 post 请求时 响应是 403 在 python 2 中工作正常 我在两个版本中使用相同版本的请求库 我有 也尝试过Verify False True但两个
  • 使通用扩展方法正常工作时出现问题

    我正在尝试为 HashSet 创建扩展方法 AddRange 以便我可以执行以下操作 var list new List
  • Ruby 与计算机科学相关的产量特性

    我最近发现了 Ruby 的块和屈服特性 我想知道 这在计算机科学理论中适合什么 它是一种函数式编程技术 还是更具体的技术 Ruby s yield与 C 和 Python 中的迭代器不同 yield一旦您了解了 Ruby 中块的工作原理 它
  • 在 Xamarin 中创建完整性计(状态显示)

    我正在尝试设计一个显示进程当前状态的控件 如下图所示 因此 我们有一个圆形的状态显示 其中带有里程碑或检查点的彩色部分 在图中 我们已经完成了前两个阶段 第三阶段已完成 70 我知道 Jquery 中有一个非常相似的控件 但我不确定 Xam
  • org.apache.http.NoHttpResponseException:目标服务器响应失败

    import org apache http HttpEntity import org apache http HttpResponse import org apache http NameValuePair import org ap
  • 即使 prop 没有改变,如何观看呢?

    我有一个与道具同名的观察者 该 prop 在某些事件的父组件中动态设置 我需要每次在父组件上触发事件时触发子组件中具有属性值的某些函数 即使它设置的 prop 是相同的 是否有任何观察者选项或其他处理此类情况的方法可以让我做到这一点 我尝试
  • java.sql.SQLException:参数索引超出范围(2 > 参数数量,即 0)

    public class Brothers extends javax swing JFrame declaring connection and SQL statement Connection cn Statement st Prepa