문자열 값을 반환하는 메서드가 있습니다. 먼저 mysql 데이터베이스 @ db4free.net에 연결해야합니다 (연결되어있는 동안 문제가 없는지 확인하고 확인했습니다). 그런 다음 SELECT * FROM ip
쿼리가 실행되는 PreparedStatement
이 있습니다. ResultSet은 질의 결과를 저장하지만 result.getString (1)을 수행하면 아무것도 반환하지 않습니다. 아래 코드는 다음과 같습니다 (클래스 클라이언트는 커넥터 btw를 확장합니다)Java : MYSQL ResultSet에 값이 없습니다.
public String ObtainServerIP(){
if(MYSQLConnection!=null){
try{
PreparedStatement state = MYSQLConnection.prepareStatement("SELECT * FROM "+TableName);
result = state.executeQuery();
result.next();
return result.getString(1);
}catch(Exception e){
return ""+e;
}
}
return "wot m8";
}
위의 코드는 Connector 클래스에 있습니다.
아래 코드는 내용을 인쇄해야하는 코드입니다. (나는 심지어 결과 세트에 인덱스 0을 시도했지만 아직 아무것도 사용하지 않았다.)
public void run(){
while(AppRunning){
if(DatabaseConnection){
System.out.println(ObtainServerIP());
AppRunning=false;
}
}
}
예 루프가 정상적으로 작동하고 DatabaseConnection이 true이고 루프가 if 문을 변경합니다. 그러나 아무것도 출력하지 않습니다. 예외가 인쇄되지 않습니다. 여기 내 MySQL 데이터베이스에서 스냅 샷입니다 : 문과에는 getString에 대한 매개 변수 테이블의 속성이어야합니다
? 열 이름을 사용하여 결과 집합에서 가져올 열을 분명하게 만드십시오. – Braj
@Braj 아무 것도 없습니다. 다른 방법의 "연결 된"출력을 제외하고 연결 상태가 양호한 지 확인하십시오. – DaBaws
코드를 디버그하고 SOP를 더 추가 한 다음 중단 된 부분을 확인합니다. – Braj