gpt4 book ai didi

java - 结果集移动到第一个记录

转载 作者:行者123 更新时间:2023-11-29 05:37:45 24 4
gpt4 key购买 nike

我有以下代码:

try
{
rsEjamatData=con.getLiveEjamatPass(ejmtid);

List<Mikats> dbmessages = mdb.getAllMikats();

for (Mikats c:dbmessages){

if(rsEjamatData.next())
{
if(rsEjamatData.getInt(rsEjamatData.findColumn("AutoID"))!=c.getAutoID())
{
flag=1;
}
else
{
flag=2;
}

}
}


if(flag==0 || flag==1)
{
rsEjamatData.last();
rsEjamatData.beforeFirst();
}



//flag=1;

//if(rsData.next() )
{
if(flag==0 || flag==1 || rsEjamatData.getRow()>dbmessages.size())
{

while(rsEjamatData.next())
{
String eJamatID = rsEjamatData.getString(rsEjamatData.findColumn("eJamatID"));
String mktid = rsEjamatData.getString(rsEjamatData.findColumn("MikatID"));
String StartDate = rsEjamatData.getString(rsEjamatData.findColumn("StartDate"));
String EndDate=rsEjamatData.getString(rsEjamatData.findColumn("EndDate"));

String Block = rsEjamatData.getString(rsEjamatData.findColumn("Block"));
String Floor = rsEjamatData.getString(rsEjamatData.findColumn("Floor"));
String gate = rsEjamatData.getString(rsEjamatData.findColumn("gate"));
String masjid=rsEjamatData.getString(rsEjamatData.findColumn("masjid"));

String AutoID = rsEjamatData.getString(rsEjamatData.findColumn("AutoID"));
String SeatName=rsEjamatData.getString(rsEjamatData.findColumn("SeatName"));

cnt++;
mdb.addEjamatPass(new Mikats(Integer.parseInt(eJamatID),Integer.parseInt(mktid), StartDate, EndDate, Block,Floor,gate,masjid, Integer.parseInt( AutoID),SeatName),cnt);


}
}
}
}
catch(Exception ex)
{
ex.printStackTrace();
}

在我做的这段代码中:

for (Mikats c:dbmessages){

if(rsEjamatData.next())

结果集向前移动。

在这个过程发生后,我想让我的结果集回到第一位。

所以我写了:

if(flag==0 || flag==1)
{
rsEjamatData.last();
rsEjamatData.beforeFirst();
}

但是当代码进入 rsEjamatData.last(); 它给了我以下异常:

java.sql.SQLException: ResultSet may only be accessed in a forward direction.

我也试过直接写 rsEjamatData.first() ,但给了我同样的错误。

请指导我。

不进入第一位,就不会进入

while(rsEjamatData.next())
{

................
................

}

所以请帮助我。

最佳答案

创建一个可滚动的结果集。例如。

//创建一个可滚动的结果集

Statement stmt = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);

//将光标移动到开头,第一行之前。 //光标位置为 0.

   resultSet.beforeFirst();

关于java - 结果集移动到第一个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18866307/

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