현재 팀, 선수 및 점수를 추가 할 수 있도록 데이터베이스와 상호 작용하는 매우 기본적인 응용 프로그램 (netbeans 및 jdbc 사용)이 있습니다. 이제 리그 테이블/팀 (플레이어 포함) 테이블 등에서 각 테이블의 항목을 표시 할 수 있어야합니다.리그 테이블 - SQL 쿼리/JDBC 문제
내 질문은 테이블에서 정보를 검색하는 방법과 어떻게 표시합니까? 나는 그것에 대해 어떻게 가야하는지에 관해서는 말 그대로 사실이 아니다. Join 또는 Select 문 (완전한 SQL 초보자)을 수행하고 루프를 사용하여 각 테이블 항목을 선택하고 테이블에 표시하는 방법이 필요하다고 가정합니다.
내가 데이터베이스에 추가하는 유일한 현재 작업 기능은 새 팀을 추가하여 양식에있는 테이블에 표시되는 내용을 표시하는 것입니다.
모든 도움말이나 도움을 주시면 감사하겠습니다.
현재 사용중인 코드는 다음과 같습니다. (나는 여전히 스코어 테이블을 구현하고 거기에 레코드를 추가 할 필요가있다. GUI를 사용하여 datbase를 생성 했으므로 외래 키를 설정하지 않아도 아무데도 "Create Table"코드가 없기 때문에 netbeans에서 수행 할 수있다. .
package football.game;
/*import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;*/
import football.game.DBconnection;
import java.sql.*;
/**
*
* @author Steffan Caine
*/
public class SportsConnection extends DBconnection {
public SportsConnection(final String dbName)
{
this.connectDatabase(dbName);
}
public void insertPlayer(final Integer PLAYERNUM,
final String PLAYERNAME, final String PLAYERPOS, final Integer TEAMNUM)
{
final String insertStmt = "INSERT INTO APP.PLAYERS (PLAYERNUM, PLAYERNAME, PLAYER_POS, TEAM_ID) VALUES (?,?, ?, ?)";
try
{
PreparedStatement pstmt = getConnection().prepareStatement(insertStmt);
pstmt.setInt(1, PLAYERNUM);
pstmt.setString(2, PLAYERNAME);
pstmt.setString(3, PLAYERPOS);
pstmt.setInt(4, TEAMNUM);
pstmt.executeUpdate();
}
catch (SQLException sqle)
{
System.out.println("Exception when inserting player record: " + sqle.toString());
}
}
public void insertTeam(final String NAME, final String MANAGER, final int ID)
{
final String insertStmt = "INSERT INTO APP.TEAMS (TEAMNAME, MANAGER, TEAM_ID) VALUES (?,?, ?)";
try
{
PreparedStatement pstmt = getConnection().prepareStatement(insertStmt);
pstmt.setString(1, NAME);
pstmt.setString(2, MANAGER);
pstmt.setInt(3, ID);
pstmt.executeUpdate();
}
catch (SQLException sqle)
{
System.out.println("Exception when inserting team record: " + sqle.toString());
}
}
public void printAllRecords()
{
this.setQuery(retrieveQuery);
this.runQuery();
ResultSet output = this.getResultSet();
try
{
if (null != output)
{
while(output.next())
{
String PLAYERNUM = output.getString(1);
String PLAYERNAME = output.getString(2);
System.out.println (PLAYERNUM + "\n" + PLAYERNAME + "\n");
}
}
}
catch (SQLException sqle)
{
System.out.println("Exception when printing all students: " + sqle.toString());
}
}
}
는 "retrieveQuery는"현재 오류 메시지를 반환 작업에 그 부분을 점점 도움이 몇 가지 더 (기본의 경우) 필요한 기능을 추가 콘솔의 레코드를 인쇄와 같은 좋은 것입니다.
또한 각 양식 (AddPlayer/AddTeam/Navigation)에 대한 클래스가 있지만 데이터베이스를 채우는 데 생성자를 사용하지 않고 대신 Main 클래스에있는 메소드를 사용하고 있습니다. 사용하지 않는 것이 나쁜 방법입니다 "사물 "그런가요?
감사합니다.
답장을 보내 주셔서 대단히 감사드립니다. 경험 많은 프로그래머가 아니므로 일부 답변이 제게 의미가 없으므로 제 질문을 확대했으며 좀 더 도움을 주실 수 있으면 감사하겠습니다. –
좀 더 도와 주시겠습니까? 내가 쓴 코드를 보았 니? 전체 앱을 작성해야합니까? 나는 유급 컨설턴트가 아니라 자원 봉사자입니다. 당신은 새로운 사람입니다. 배우려고 노력하다. – duffymo
당신의 대답을 이해하는데있어서 나의 문제는 당신이 데이터베이스를 채우는 데 클래스를 사용한다는 사실과 원래의 어플리케이션에서 나는 단지 클래스 내의 메소드를 사용하고 있다는 사실에서 비롯된다. 여기 있습니다 : 'package persistence; 공개 인터페이스 PlayerDao { Player find (정수 ID); 목록 find(); 정수 저장 (플레이어 p); void update (Player p); void delete (플레이어 p); } ' 작성하려는 기존의 명령이거나 기존 명령입니까? 나는 배은망덕 한 말을하지 않았다. 나는 이전에 배웠던 것과는 다른 점에서 당신이 쓴 것을 이해하는 데 어려움을 겪고있다. –