jtbs.jdbc.Driver
を使用して、プロキシ番号がMySQLデータベースに格納されていることを確認しています。java.sql.SQLException:ResultSetに現在行がありません
問題は、私はテーブルからカーテンの行をコピーして、自分のResultSet
に入れしようとするたびに、エラーが there is no current row in the ResultSet
エラーは私がされているライン31 String value = result.getString(i);
であると言うことです答えはウェブ上をすべて見ていますが、私の特定の苦境を助けるものはありません。
UP DATE は、これまでのところ、私はwhile(result.next())
を追加し、それが基本的には実行されませwhile(result.next())
用量は何も線量ません。
ここに私のコードです!
package dataBata;
import java.util.ArrayList;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class apples {
ArrayList<String> myList = new ArrayList<String>();
String proxNumber = "2435847564";
String usersName = "user";
String password = "pass";
public void wrightMatchdb(){
Connection conn = null;
String url = "jdbc:jtds:sqlserver://localhost:1433/model";
try{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection(url, usersName, password);
Statement statement = conn.createStatement();
ResultSet result = statement.executeQuery("select replace(PROXID , ' ','') PROXID ,FIRST_NAME from OKWC_IDCARDS where PROXID = '" + proxNumber + "'");
System.out.println("hello");
while(result.next()){
for(int i=1;i<=6;i++){
System.out.println("hello2");
String value = result.getString(i);
if(result.getString(i) != null){
value = value.replace(" ","");
myList.add(value);
}
String userProx=myList.get(i);
String userFName=myList.get(i+1);
JOptionPane.showMessageDialog(null, userProx + " has a match for", "hi " + userFName, JOptionPane.DEFAULT_OPTION);
}
System.out.println("hello3");
};
System.out.println("hello4");
statement.close();
}
catch (Exception e){
e.printStackTrace();
}
finally {
if (conn != null) try { conn.close(); } catch(Exception e) {}
}
}
public static void main(String[] args){
apples A = new apples();
A.wrightMatchdb();
}
}
ありがとう月曜日に自分のデータベースにアクセスすると、そのコードに実装されます。 –
私はwhileループで 'result.next()'を試みましたが、それはプログラムがwhileループでコマンドを実行しないようにするだけでした。 (int i = 1; i <= 6; i ++){あなたが3つの列(PROXID、FIRST_NAME)しか持っていないことを知っているので、おそらくあなたが約 –
を取っているのを見ることができます。あなたはmyList.get(i + 1)を呼び出します。まだ追加されていない値を取得する=> IndexOutOfBoundsException –