몇 주 전에 "데이터베이스를 Java에 포함시키는 방법"에 대한 질문을 던졌습니다. 덕분에, 나는 H2 db로 그 일을 성공시킵니다. 삽입 버튼을 클릭 할 때 이름과 성을 삽입하고 표시 버튼을 누르면 JTextArea에 이름과 성을 표시하는 간단한 응용 프로그램을 만들었습니다. 삽입 및 표시 버튼을 누르면 Eclipse에서 완벽하게 작동합니다. 내 문제는 다음과 같습니다 프로젝트를 내보내고 Runnable JAR 파일을 선택합니다. 바탕 화면에서 앱을 시작한 다음 표시 버튼을 클릭하면 데이터베이스의 데이터가 JTextArea에 표시되지 않습니다. 왜 이런 일이 발생합니까?Java에서 데이터베이스 응용 프로그램을 올바르게 내보내는 방법
static final String driver = "org.h2.Driver";
static final String DB_URL = "jdbc:h2:lib/database";
Connection conn = null;
public void sql(){
try{
Class.forName(driver);
System.out.println("Connect to my database");
conn = DriverManager.getConnection(DB_URL, "root", "#mysql");
System.out.println("Is connect");
}catch(SQLException sql){
sql.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
class insertClass implements ActionListener{
public void actionPerformed(ActionEvent ev){
try{
String update = "INSERT INTO bazadedate.persoane(Name, Surname) values('"+ne.getText()+"', '"+se.getText()+"')";
Statement st;
st = conn.createStatement();
st.executeUpdate(update);
}catch(SQLException s){
s.printStackTrace();
}
}
}
class showClass implements ActionListener{
String name, surname;
public void actionPerformed(ActionEvent ev){
try{
String show = "SELECT * FROM bazadedate.persoane";
Statement st;
ResultSet rs;
st = conn.createStatement();
rs = st.executeQuery(show);
while(rs.next()){
name = rs.getString("Name");
surname = rs.getString("Surname");
text.append(name + " " + surname + "\n");
}
}catch(SQLException s){
s.printStackTrace();
}
}
}
'java -jar YourJarFile.jar'를 사용하여 프로그램을 실행하고 콘솔에 표시된 오류를 확인하십시오. –
오류가없고 H2 콘솔 환경 설정에서 "다른 컴퓨터의 연결 허용"을 선택했지만 여전히 작동하지 않습니다. – AurelianStefan
그래서 데이터베이스가있는 컴퓨터가 아닌 다른 컴퓨터에서 코드를 실행하고 있습니까? 데이터베이스 URL은 다른 호스트에 연결해야한다고 말하지 않습니다. 'lib/database'에서 데이터베이스를 읽습니다. –