MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

汎用のSQL結果出力

2007年12月30日 21時40分01秒 | JSP(Java)
oracleやMySQLのSQL結果をテーブルで表示させる処理を汎用的に使えるようにした。
結果をベタで表示させるだけであればこれで十分かな?

WEB画面からSQL文を入力して結果を出すのも可能
select文だけを処理するように工夫した方がよいけど。

ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
out.print("<table><tr>");
for(int i = 1;i <= cnum;i++){
 out.print("<td>"+rm.getColumnLabel(i)+"</td>");
}
out.print("</tr>");
while(rs.next()){
 out.print("<tr>");
 for(int i = 1;i <= cnum;i++){
  out.print("<td>"+rs.getString(i)+"</td>");
 }
 out.print("</tr>");
}
out.print("</table>");

#今日は変な空だったなあ。
#午前中は「え?入道雲?」のような夏を錯覚させる空だったのに昼過ぎにいきなりみぞれ!
#晴れたり降ったり忙しい天気だった。
#今年もいよいよあと1日となりました。
#あすは新幹線の旅
#皆様、よいお年を♪


ソートを工夫する

2007年12月21日 23時39分24秒 | Database
たとえば評価項目をS→A→B→Cの順に出力したい時に order by句にちょっと工夫してみる。

select * from テーブル
order by (case when 評価='S' then 1 else 2 end),評価

今日仕事中にこれを思いついた自分を思わず尊敬してしまった。
今年は case when にだいぶお世話になりました(笑)

#今月は土曜日も忙しくてプールにいけない
#あしたは泳ぎに行きたいな・・・
#風邪やインフルエンザが流行っているけど負けないぞ!


日付形式のチェック

2007年12月19日 23時50分01秒 | JSP(Java)
入力された日付が正しいかどうかをチェックする

//日付形式の確認
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/d");
sdf.setLenient(false);
try {
Date date = sdf.parse(tdy);
System.out.print("OK");
} catch (Exception e) {
System.out.print("ERROR");
}


#映画「SMILE 聖夜の奇跡」を観てきた。やっぱり私好みの映画だった。
#タップダンスもアイスホッケーも素敵だった。
#ゴールを決めた時のパフォーマンスが楽しい♪
#「Little Drummer Boy」の「ラパパンパン♪」が頭の中を流れ続けてる・・


中国語(簡体字)の表示

2007年12月09日 23時16分30秒 | Database
オラクルで登録した中国語を表示する場合IE6だと文字化けすることへの調査をした。
IE7では文字化けしないがIE6では文字化けする(「・」になる)。
オラクルの文字コードはUTF-8なので、ブラウザのソースを表示してみると文字化けする文字は文字コードが出力されている。
いろいろと調べたことろスタイルシートでフォントを指定すると良いようだ。
要するに中国語表示に対応しているフォントとしていないフォントがあるということなのだろう。
指定するフォントは以下の通り
font-family:"MS Sans Serif","ヒラギノ角ゴ Pro W3",Arial,sans-serif;
これで大体のOS、ブラウザでOKらしい。試していないのでどこまでいけるのか分からないが・・・。


#「ミムラの絵本日和」の発売記念イベントで握手会に行ってきた。
#今年の私はミーハーである。
#6月には竹内結子さんを舞台挨拶で見てきたし・・
#握手会ってすごいな。たった2言3言とはいえちゃんと会話ができるんだもの
#ミムラさんは感性が豊かでしかもその感性を素敵に表現できる人だと思った。