
[j2SE]
Swingでアプリケーションを作っています。
問題集ソフトを作っており、データベースはAccessで作りました。
これを30問分構築しています。
画面のボタンをクリックする度に次の問題をランダムで表示したいのですが、記述が全く分からず困ってしまいました。
下記が現時点でボタンをクリックした時に設定してあるプログラムです。
//データベースに接続する(JDBC->ODBC)
try {
Connection myCon = null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
myCon = DriverManager.getConnection("jdbc:odbc:mondai");
Statement mySt = myCon.createStatement();
//データベースからデータを取得する。(SQLのSELECT文)
ResultSet myRs = mySt.executeQuery("SELECT * FROM PERSONAL_DATE");
long id = myRs.getLong("ID");
String mon = myRs.getString("問題");
mondai.setText(mon);
String senA = myRs.getString("選択支A");
sentaku1.setText(senA);
String senB = myRs.getString("選択支B");
sentaku2.setText(senB);
String senC = myRs.getString("選択支C");
sentaku3.setText(senC);
String senD = myRs.getString("選択支D");
sentaku4.setText(senD);
} catch (Exception ex) {
}
No.2ベストアンサー
- 回答日時:
30問ランダムに取ってくるにしてもIDの付け方によって取り方が変わってくると思います。
IDが連番かつ欠落がないならば#1さんのやり方で十分だと思います。
しかしIDがランダムについていたりする場合はちょっと考えなければならないですね。
ちなみにボタンを押すたびに問題を取得するのではなく、始める際に全て取得しておく方が効率的です。(メモリの消費は多くなりますが)
その際は1問ずつをクラス化し、ArrayListなどに格納していくといいでしょう。
No.1
- 回答日時:
Random r = new Random(System.currentTimeMillis());
int i = r.nextInt();
これでランダムなintが取れるので、それをキー(" where ID=" + i)にDBからSelect
してきたら良いのでは。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで外部シンセサイザーの音...
-
VBA:小数点以下の数字を取得で...
-
バージョンナンバーの取得
-
VB.NETでサーバーからFILEを取...
-
整数の桁数が取得できません
-
システム日付の表示方法
-
他サイトの情報取得
-
JavaScriptでWindowsログオンID...
-
DBから日付を取得し、別に設定...
-
VBA Shapesの座標からセル位置...
-
asp.netでtextboxの値を取得
-
ドロップダウンリストの初期表...
-
VBでFTPサーバ側のファイルの更...
-
データベースをランダムで読み込む
-
ActiveWorkbook.Path取得できない
-
一覧表示画面で正しくDBから取...
-
ASP(vbscript)におけるクライア...
-
MAC ブラウザ情報を取得するには
-
gethostbyaddrでのホスト名取得...
-
VB.NETで DataRow()を利用して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
VBAでActiveDirectoryのユーザ...
-
VBA:小数点以下の数字を取得で...
-
Flexgridで選択行の列の値を取...
-
利用者側のMACアドレスを取得し...
-
count(*)で取得した値をJAVAの...
-
JavaScriptにおいてコンピュー...
-
like演算子内に変数って使えな...
-
VBA リストボックス内の値を複...
-
データ数をカウントしたいのですが
-
VBA Shapesの座標からセル位置...
-
Spreadの選択行の取得について
-
JavaScriptでWindowsログオンID...
-
ドロップダウンリストの初期表...
-
NTPサーバから時刻を取得する
-
「Excel VBA」 Webクエリ マク...
-
DataGridView 複数選択で行番...
-
ListViewで複数選択された項目...
-
現在時刻をミリ秒まで取得
おすすめ情報