図書館のコンピュータの座席監視に関するJavaプログラムを作成しています。図書館の管理者が学生の学生番号を入力すると、ログインされ、Java GUI の JLabel に名前と姓が表示されます。学生番号、姓名はすべてデータベースにあります。これらのデータをデータベースから取得して JLabel に保存するにはどうすればよいですか?
質問する
2685 次
2 に答える
4
なんてシンプル?JDBCを使用する
そのウィキペディアのページの例を次に示します。
Connection conn = DriverManager.getConnection(
"jdbc:mysql:myhostname1",
"myLogin",
"myPassword" );
Statement stmt = conn.createStatement();
try {
ResultSet rs = stmt.executeQuery( "SELECT * FROM MyTable" );
try {
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
// Column numbers start at 1.
// Also there are many methods on the result set to return
// the column as a particular type. Refer to the Sun documentation
// for the list of valid conversions.
System.out.println( "COLUMN " + i + " = " + rs.getObject(i) );
}
}
} finally {
try { rs.close(); } catch (Throwable ignore) { /* Propagate the original exception
instead of this one that you may want just logged */ }
}
} finally {
try { stmt.close(); } catch (Throwable ignore) { /* Propagate the original exception
instead of this one that you may want just logged */ }
}
于 2012-09-30T02:15:16.870 に答える
3
他の答え(loganへの+1)に関するあなたのコメントによると、ここに結果を格納するロジックを示すためのいくつかの疑似がありますJLabel
:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT * FROM MyTable");
StringBuffer sb=new StringBuffer();//create string buffer to hold results
//use html to enable newlines in jlabel
sb.append("<html>");
while (rs.next()) {
sb.append(rs.getString("a")).append("<br>");//append results to buffer
}
sb.append("</html>");
//create label with results
JLabel label=new JLabel(sb.toString());
または、最初のインスタンスを作成して、そのインスタンスJLabel
を呼び出すこともできます。JLabel#setText(String text);
JLabel label=new JLabel();
//read results to buffer
label.setText(sb.toString());
于 2012-09-30T02:24:37.567 に答える