【发布时间】:2012-02-12 21:30:56
【问题描述】:
我目前有一个非常基本的应用程序,它与数据库交互(使用 netbeans 和 jdbc),以便您可以添加球队、球员和分数。我现在需要能够在联赛表/团队(与球员)表等中一起显示每个表中的项目。
我的问题是如何从表格中检索信息以及如何显示它,我真的不知道应该如何去做。我假设我需要执行 Join 或 Select 语句(我是一个完整的 SQL 新手),然后使用循环来选择每个表条目并以某种方式将其显示在表中?
我目前唯一的工作功能是添加到数据库中,即添加一个新团队添加一个新玩家等,在表格上显示表格中的内容是我难过的地方。
非常感谢任何提示或帮助。
我目前使用的代码是这样的; (我仍然需要实现一个分数表并向其中添加记录,我还使用 GUI 创建了数据库,因此没有设置外键,有没有办法在 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 类中的方法,这是我处理事情的坏方法吗不使用“对象”吗?
谢谢。
【问题讨论】: