보낸 사람 이름이있는 메시지를 표시하려고합니다. 외부 while 루프는 잘 작동하지만 내부 while 루프에는 약간의 문제가 있습니다. 알아 내려고 노력했지만 결과가 없습니다. 누구든지 나를 도울 수 있습니까? 나는 매우 감사 할 것이다.java mysql에서 두 테이블의 데이터 표시
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class Messages extends Login {
static Scanner in = new Scanner(System.in);
public static void main(String args[]) throws Exception{
boolean isLoggedin = login();
String msg = "";
String senName = "";
if(isLoggedin) {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo?verifyServerCertificate=false&useSSL=false", "root", "");
Statement st = con.createStatement();
Statement st1 = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM chat");
ResultSet rs1 = st1.executeQuery("SELECT * FROM data");
while(rs.next()) {
int dbRecID = rs.getInt("reciever_id");
if(dbRecID == user_id) {
msg = rs.getString("message");
int dbSenID = rs.getInt("sender_id");
while(rs1.next()) {
int senID = rs1.getInt("id");
if(senID == dbSenID) {
senName = rs1.getString("name");
}
}
System.out.println(senName+" sent you a message: "+msg);
}
}
}
else {
System.out.print("Login Unsuccessful");
}
}
}
출력
Ali Ahmed sent you a message: How are you?
Hamza sent you a message: Hi!
출력이 "필수 출력"이어야한다고 생각하는 이유를 설명하십시오 – isaace
데이터베이스에는 두 개의 메시지가 있기 때문에 설명하십시오. 하나는 알리 아메드가 보내고 다른 하나는 함자가 보낸다. 프로그램이 모든 메시지를 완벽하게 인쇄하지만 보낸 사람 이름을 업데이트하지 않습니다. –