JAVAのJDBCを使いMySqlを操作しデータ数を取得するプログラムです。自分なりに考えたプログラムは
Connection con = null;
String sql = "select count(*) from テーブル名";
// コネクションを作成する。
con = DriverManager.getConnection(url, user, pass);
Statement st = con.createStatement();
// SQLを実行する。
ResultSet rs = st.executeQuery(sql);
String count = rs.getString("count(*)");
実行した結果上手く出来ないのですが、この部分での間違いはありますか?
No.1ベストアンサー
- 回答日時:
どう上手くいかないのかエラーメッセージなどがあると分かりやすいのですが・・・とりあえず、count(*)というカラム名は取得できなかったと思います。
sqlを
select count(*) as cnt from テーブル名
にして、
値を取得する部分を
String coung = rs.getString("cnt");
にしてみてください。
もしくはsqlはそのままで、
rs.getString(1)
で1番目のカラムが取得できます。
(カラム名が固定なら最初のやりかたの方が分かりやすいと思います。)
この回答への補足
自分が考えたやり方ではエラーメッセージ事態はなく取得した値が表示されませんでした。
教えていただいてやり方を試したところ
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:3620)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:1758)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:1822)
というエラーが発生しました。
No.2
- 回答日時:
// SQLを実行する。
ResultSet rs = st.executeQuery(sql);
if(rs.next()) // この行を追加
String count = rs.getString("count(*)");
試していないので確かではないですが、
ResultSetオブジェクトは取得した初期の状態ではカーソルが先頭行の前(つまりデータが存在しないところ)にあるため、必ずnext()メソッドを呼び出して先頭行にカーソル移動するのではなかったでしょうか。
的外れだったらごめんなさい!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
count(*)で取得した値をJAVAの変数に代入するには?
Java
-
レコード件数の表示
Java
-
csv出力について
Java
-
-
4
Javascriptの値をJava(JSP)へ渡す方法
Java
-
5
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
6
JSPのNULLレコード表示について教えて下さい。
Java
-
7
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
8
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
9
DBを10件毎に表示ページング処理方法
Java
-
10
GROUP BYを行った後に結合したい。
Oracle
-
11
Java-jspの画面入力値保持について
Java
-
12
JAVA SQLServerException 列名 が無効です
Java
-
13
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
14
ページング
Java
-
15
count(1)とcount(*)の違い
Oracle
-
16
正しいURL指定しているにもかかわらずJSPファイルにアクセスできず「404エラー」が発生
Java
-
17
java-別クラスの変数の使い方を教えてください
Java
-
18
リクエストに応じたselectedの初期値設定方法
Java
-
19
getParameterで値が取得できず、困ってます
HTML・CSS
-
20
JSPファイルで生じるエラーをどのように修正するか分かりません
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
like演算子内に変数って使えな...
-
データ数をカウントしたいのですが
-
アクセスしてきたコンピュータ...
-
Spreadの選択行の取得について
-
利用者側のMACアドレスを取得し...
-
ListViewで複数選択された項目...
-
VB .netにて現在時刻+1時間後...
-
getParameter と getAttribut...
-
VBA リストボックス内の値を複...
-
.NETで現在時刻を常に動作させ...
-
UWSCでhtmlソースの文字列を取...
-
リクエストからArrayListのデー...
-
エクセルVBAで複数選択できるよ...
-
URLパラメータの取得方法を教え...
-
DataGridView 複数選択で行番...
-
JavaScriptにおいてコンピュー...
-
count(*)で取得した値をJAVAの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
VBA:小数点以下の数字を取得で...
-
count(*)で取得した値をJAVAの...
-
データ数をカウントしたいのですが
-
like演算子内に変数って使えな...
-
ListViewで複数選択された項目...
-
Flexgridで選択行の列の値を取...
-
エクセルVBAで複数選択できるよ...
-
JavaScriptでWindowsログオンID...
-
利用者側のMACアドレスを取得し...
-
郵便番号検索APIにてget Elemen...
-
COMポート 名前を取得する方法
-
コンボボックス表示文字列を取...
-
VBA Shapesの座標からセル位置...
-
Spreadの選択行の取得について
-
VBScriptで数値にコンマを付け...
-
C言語におけるコンピュータ名・...
-
Excel VBA でログインしてい...
おすすめ情報