私は現在、チーム、選手、スコアを追加できるようにデータベース(netbeansとjdbcを使用)とやり取りする非常に基本的なアプリを持っています。リーグテーブル/チーム(プレイヤー付き)テーブルなどに各テーブルのアイテムを一緒に表示できるようにする必要があります。リーグテーブル - SQLクエリ/ JDBCの問題
私の質問はどのようにテーブルから情報を取得するのですか?それはどうやってどうやって行かなければならないのか、私は文字通り断る。私はJoinまたはSelect文(私は完全なSQL初心者です)を実行する必要があると仮定しています。そして、ループを使用して各テーブルエントリを選択し、何らかの形でテーブルに表示しますか?
データベースに追加するのは現在の作業機能だけです。新しいチームを追加して新しいプレーヤーなどを追加して、フォーム上の表に表示されているものが私が困惑している場所を表示します。
ヒントやご協力をいただければ幸いです。
私が現在使用しているコードはこれです。 (スコア表を実装してレコードを追加する必要があります。GUIを使用してデータベースを作成したため、外部キーが設定されていないため、どこにでも「表の作成」コードがないため、 。
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
あなたの答えを理解する上での私の問題は、クラスを使用してデータベースを生成し、私の元のアプリケーションでクラスのメソッドを使用しているという事実から来ています。 ここには: 'パッケージの永続性; 公開インターフェイスPlayerDao { Player find(整数ID); リスト find(); 整数保存(プレーヤーp); void update(Player p); void delete(プレーヤーp); } ' これらの方法は、私が書いているか、これらの既存のコマンドですか? 私は恩知らずに聞こえることを意味しなかった、私はあなたが以前に学んだこととは違って書いたことを理解することに苦労している。 –