gpt4 book ai didi

java - 索引 3 超出范围

转载 作者:行者123 更新时间:2023-12-02 02:59:53 24 4
gpt4 key购买 nike

我是这个论坛的新手,也是 SQL 的新手。

我的以下代码有问题。

它抛出SQLException错误,即索引3超出范围

不知道问题出在哪里

public static ArrayList<LotInfoVO> getLotInfoRecords3(String studName,String DoubleCheck, String lngstudid) throws ClassNotFoundException {
{
ArrayList <LotInfoVO> lotRecords4 = new ArrayList<LotInfoVO>();
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
PreparedStatement stmt = getCon().prepareStatement("SELECT * FROM MesLib.tblSchoolRecordsr where strstudName = ? and strDoubleCheckCode = ? and (lngstudID NOT LIKE '-[^0-9]') ");
stmt.setString(1, studName);
stmt.setString(2, DoubleCheck);
stmt.setString(3, lngstudID);

ResultSet rs = stmt.executeQuery();
while(rs.next()) {
LotInfoVO voLotInfo3 = new LotInfoVO();
voLotInfo3.setStstudName(rs.getString("strstudName"));
voLotInfo3.setLngStudID(rs.getString("lngStudID"));
voLotInfo3.setLngStudSubID(rs.getString("lngStudSubID"));
voLotInfo3.setStrDoubleCheckCode(rs.getString("strDoubleCheckCode"));
voLotInfo3.setStrPackage(rs.getString("strCourse"));
voLotInfo3.setStrDimension(rs.getString("strSchool"));
voLotInfo3.setStrLead(rs.getString("strSubjects"));
//get values for other instance variables
lotRecords4.add(voLotInfo3);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeConnection();
}
return lotRecords4;
}
}

对我的编码感到抱歉,我只是城里的新程序员..

所以请对我好一点,谢谢!

最佳答案

            PreparedStatement stmt = getCon().prepareStatement("SELECT * FROM MesLib.tblSchoolRecordsr where strstudName = ? and strDoubleCheckCode = ? and (lngstudID NOT LIKE '-[^0-9]') ");
stmt.setString(1, studName);
stmt.setString(2, DoubleCheck);
stmt.setString(3, lngstudID);

这里sql中有两个问号(?)。所以这个查询只需要两个参数。但您正在设置三个参数。因此会发生index of 3 out of range异常。

要避免此异常,请删除此行。因为根据你的sql,这行(下面)是不必要的

            stmt.setString(3, lngstudID); 

关于java - 索引 3 超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42509579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com