[前][次][番号順一覧][スレッド一覧]

mysql:7653

From: UNO Shintaro <UNO Shintaro <uno@xxxxxxxxxx>>
Date: Tue, 06 May 2003 19:33:18 +0900
Subject: [mysql 07653] Re: <JDBC> クエリーで関数を使うには?

>(問題点)
>JAVAプログラムからMySqlにアクセスした場合(MySqlのコマン
>ドラインインタフェースからは普通に実行できます)、MySql
>の関数を使ったSelect文が実行できない。
>
>(例)
>select * from master;
>↑この文は、実行できます。
>select sum(aaa) from master;
>↑この文は実行できません。

何が起きたことを指して「実行できない」とおっしゃっていますか?

想像するに、「ResultSet型から、ResultSet.getInt()で名前を指定して値を
取り出そうとしたが取り出せない。"sum(aaa)"とか、"aaa"とか、"sum"とか、
色々指定してみたけど…」ということなのではないかと。
もしそういう話であれば、

解1
SQL文で、カラムに別名をつけてやります。
select sum(aaa) asum from master
つけた別名を指定して取り出すことができます。
int xxx = rs.getInt("asum");

解2
名前でなくカラムインデックスで指定すれば名前は関係ありません。
int xxx = rs.getInt(1);

というわけで、

>・・・もしかして、こうゆうもんなんでしょうか?(汗)関数
>を用いたような結果が欲しい場合は、全体的なResultSet(た
>とえば、select * from
>master;のような)を取得してから、JAVA
>のソース上で新たに自分でデータを加工しなければならないの
>でしょうか?

などということはないです。


-- 
UNO Shintaro, 宇野 信太郎
mailto:uno@xxxxxxxxxx
http://www.venus.dti.ne.jp/~uno/

[前][次][番号順一覧][スレッド一覧]

      7649 2003-05-06 18:01 [くろ たろう <kuro_ta] &lt;JDBC&gt; クエリーで関数を使うには? 
->    7653 2003-05-06 19:33 ┗[UNO Shintaro <uno@xx]