ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Java質問&情報提供サイトコミュのたびたび申し訳ございません。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
たびたび質問をさせて頂いております。

何度も何度も申し訳ございません。

やりたい事は
?db2からデータの取得
?範囲内検索
?異なる次画面への同じ変数(パラメータ)の送信

書いているソースですが、まだまだ不足部分が多く見られると感じています。?に関しては、多少なりとも出来ていると思うのですが、・・・どなたか、ご教授をお願い致します。

hellojavaやjavaの道等のサイトで勉強をしながら作成しているのですが、詰まってしまい書き込みさせて頂きました。



<%@page contentType="text/html; charset=Windows-31J"%>
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>

<%

String = tab_id;
String = code;
String = data1;
String = data2;
String = data3;
String = data4;

String = co_cd;
String = cl_cd;
String = sys_cd;
String = oc_dt;
String = wg_cd;
String = cmp_dt;

Connection con = null;
Statement stmt = null;

try {
//ドライバクラスをロード
Class.forName("org.DB2.Driver");
//DB2へのアクセス
String url = "jdbc:db2:thin//IPアドレス/?useUnicode=true&characterEncoding=Windows-31J";
con = DriverManager.getConnection(url);
//ステートメントオブジェクトを生成
stmt = con.createStatement();
//SQL文使用宣言
Statement sql1 = db2.createStatement();
Statement sql2 = db2.createStatement();
//
String sql1 = "SELECT (*) FROM テーブル名";


//
String sql2 = "SELECT (*) FROM テーブル名;

ResultSet rs1 = stmt.executeQuery(sql1);
ResultSet rs2 = stmt.executeQuery(sql2);



%>
<HTML>
<HEAD>
<TITLE>〜〜〜〜</TITLE>

<SCRIPT language="javascript">
function Numchk(){
if((event.keyCode >= 48)&&(event.keyCode <= 57)){
event.returnValue = true
}else{
event.returnValue = false
}
}
</SCRIPT>


</HEAD>


<body bgcolor=#ffffff topmargin=3 marginheight=3>
<BR>
<H4><div align=right nowrap style="padding-bottom:4px" width=100%>
<SCRIPT type="text/JavaScript">
<!--
d = new Date();
y = new Array("日","月","火","水","木","金","土","日");
document.write((d.getMonth()+1)+"月"+d.getDate()+"日" +"("+y[d.getDay()]+")"+ d.getHours() + "時" + d.getMinutes() + "分" + d.getSeconds() + "秒");
//-->
</SCRIPT> </font></div></H4>
<BR>
<H2>〜〜〜〜</H2>
<BR>
<Form Name='form' Method='post'>

<Table Border="0" Bordercolor="000000" Cellspacing="1">
<TR BGCOLOR="#FFFFFF">
<TH rowspan="2">〜〜〜〜</TH>
<TD></TD>
<TD><DIV ALIGN="Left"><STRONG><VAR>From</VAR><!--table_id--></STRONG></DIV></TD>
<TD><DIV ALIGN="Left"><STRONG>〜<!--code--></STRONG></DIV></TD>
<TD><DIV ALIGN="Left"><STRONG><VAR>To</VAR><!--data1--></STRONG></DIV></TD></TR>
<TR BGCOLOR="#FFFFFF">
<TD></TD>
<TD><Input Type=Text Name="From" Size=10 Style="ime-mode:disabled;" onkeypress="Numchk()" Maxlength=8></TD>
<TD><STRONG><Center>〜<!--code--></Center></STRONG></TD>
<TD><Input Type=Text Name="To" Size=10 Style="ime-mode:disabled;" onkeypress="Numchk()" Maxlength=8></TD></TR>
</Table>

<Table Border="0" Bordercolor="000000" Cellspacing="1">
<TR BGCOLOR="#FFFFFF">
<TD><DIV ALIGN="Left"><STRONG>〜〜〜<!--table_id--></STRONG></DIV></TD>
<TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD>
<TD><Input Type=Text NAME="Accept" Size=26 Maxlength=10 Value=""></TD>
<TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD>
<TD><Input Type="Button" Value="検索" onClick=""></TD></TR>
</Table>

<div align=right><INPUT TYPE="BUTTON" VALUE="受付入力" onClick="top.location.href='〜.jsp'"></div>
<BR><BR>
<TABLE Border="1" Bordercolor="000000" Cellspacing="1">
<TR BGCOLOR="#FFFFE0">
<TD><DIV ALIGN="LEFT"><STRONG><%=rs1.getString("tab_id = TABLE_ID") %><!--table_id--></STRONG></DIV></TD>
<TH><DIV ALIGN="LEFT"><STRONG><%=rs1.getString("code = CODE") %><!--code--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG><%=rs1.getString("data1 = DATA1") %><!--data1--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG><%=rs1.getString("data2 = DATA2") %><!--data2--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG><%=rs1.getString("data3 = DATA3") %><!--data3--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG><%=rs1.getString("data4 = DATA4") %><!--pgm_id--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG>修正<!--up_date--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG>対応入力<!--crt_date--></STRONG></DIV></TH>
<TH><DIV ALIGN="LEFT"><STRONG>削除<!--dele_date--></STRONG></DIV></TH>
</TR>
<%
//検索された行数分だけループ
while(rs.next()){
%>

<TR BGCOLOR="#FFFFFF">
<TD><%=rs2.getString("co_cd") %></TD>
<TD><%=rs2.getString("cl_cd") %></TD>
<TD><%=rs2.getString("sys_cd") %></TD>
<TD><%=rs2.getString("oc_dt") %></TD>
<TD><%=rs2.getString("wg_cd") %></TD>
<TD><%=rs2.getString("cmp_cd") %></TD>
<TD><Center><Input type="Submit" value="修正" onClick="top.location.href='〜.jsp'"></CENTER></TD>
<TD><Center><Input type="button" value="対応入力" onclick="top.location.href='〜.jsp'"></CENTER></TD>
<TD><Center><Input type="button" value="削除" onclick="top.location.href='〜.jsp'"></CENTER></TD>
</TR>
<%
} //end While
%>

</TABLE>

<div align=right nowrap style="padding-bottom:4px" width=100%><font size=2>

<INPUT TYPE="button" VALUE="印刷" ONCLICK="print()">
</FORM> </font></div>

</BODY>

</HTML>

<%
} catch (Exception e) {
out.println("<font color=red><H3>エラー!!!</H3></font>" + e);
e.printStackTrace();
} finally {
//DBへの接続を閉じる
try {
if (stmt!=null) {
stmt.close();
}
if (con!=null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
%>

コメント(5)

>書いているソースですが、まだまだ不足部分が多く見られると感じています。?に関しては、多少なりとも出来ていると思うのですが、・・・どなたか、ご教授をお願い致します。

う〜、質問が不明瞭で何を訊きたいのか判らないです。
・こうやってみた。
・動かしてみたら結果はこうだった。
・この部分が意図した事と違う。
・それを直す方法は?
という形なら答えようもあるのですが。。。

あと、JSPを勉強するなら、前提としてJavaの基礎を
マスターしていなければなりませんよ。
JSPの前に、Servletを勉強することをお勧めします。

それから、個人的な意見になるかもしれませんが、
Webで散見的な知識を集めるより、書店でServlet/JSPの
参考書を買ってそれで勉強することをお勧めします。
(失礼な物言いして恐縮ですが、ソースが汚くて
 読めないのです。もっとサンプルプログラムを
 読むべきだと思いました)
追伸:マルチポストは嫌われますよ。
skyさん
(失礼な物言いして恐縮ですが、ソースが汚くて
読めないのです。もっとサンプルプログラムを
読むべきだと思いました)

↑当然のご指摘ありがとうございます。

PGMの実行なのですが、DB作成がまだ出来ていないので、実行できないのが現状です。
申し訳ございません。

もう一度、
見ていただけないでしょうか?

宜しくお願い致します。

<%@page contentType="text/html; charset=Windows-31J"%>
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>

<%
String = tab_id;
String = code;
String = data1;
String = data2;
String = data3;
String = data4;

String = co_cd;
String = cl_cd;
String = sys_cd;
String = oc_dt;
String = wg_cd;
String = cmp_dt;

Connection con = null;
Statement stmt = null;

try {
//ドライバクラスをロード
Class.forName("org.DB2.Driver");
//DB2へのアクセス
String url = "jdbc:db2:thin//IPアドレス/?useUnicode=true&characterEncoding=Windows-31J";
con = DriverManager.getConnection(url);
//ステートメントオブジェクトを生成
stmt = con.createStatement();
//SQL文使用宣言
Statement sql1 = db2.createStatement();
Statement sql2 = db2.createStatement();
//
String sql1 = "SELECT (*) FROM テーブル名";
//
String sql2 = "SELECT (*) FROM テーブル名";

ResultSet rs1 = stmt.executeQuery(sql1);
ResultSet rs2 = stmt.executeQuery(sql2);

%>
<HTML>
<HEAD>
<TITLE>〜〜〜〜</TITLE>

</HEAD>

<body bgcolor=#ffffff topmargin=3 marginheight=3>
<BR>

<H2>〜〜〜〜</H2>
<BR>

<Form Name='form' Method='post'>

<Table Border="0" Bordercolor="000000" Cellspacing="1">
<TR BGCOLOR="#FFFFFF">
<TH rowspan="2">〜〜〜〜</TH>
<TD></TD>
<TD><VAR>From</VAR></DIV></TD>
<TD><DIV ALIGN="Left">〜</DIV></TD>
<TD><DIV ALIGN="Left"><VAR>To</VAR></DIV></TD></TR>
<TR BGCOLOR="#FFFFFF">


◇--------------------------------------------------◇
以下の部分で範囲指定をかけて
検索した結果をテーブルに表示させたいのです。


<TD><Input Type=Text Name="From" Size=10 Style="ime-mode:disabled;" onkeypress="Numchk()" Maxlength=8></TD>
<TD><Center>〜</Center></TD>
<TD><Input Type=Text Name="To" Size=10 Style="ime-mode:disabled;" onkeypress="Numchk()" Maxlength=8></TD></TR>
</Table>

<Table Border="0" Bordercolor="000000" Cellspacing="1">
<TR BGCOLOR="#FFFFFF">
<TD><DIV ALIGN="Left">〜〜〜〜</DIV></TD>
<TD><Input Type=Text NAME="Accept" Size=26 Maxlength=10 Value=""></TD>
<TD><Input Type="Button" Value="検索" onClick=""></TD></TR>
</Table>

<%
//変数宣言
from_dt data; //From
to_dt data; //To
//変数の値を代入
from_dt := to_date('From');
to_dt := to_data('To');
//SQLにて範囲指定
String sql3 = "SELECT (*) FROM T_WORKDATA WHERE T_WORKDATA.OCCUR_DATE
+ between from_dt and to_dt";
//結果の設定
ResultSet rs3 = stmt.executeQuery(sql3);
%>
◇--------------------------------------------------◇


<INPUT TYPE="BUTTON" VALUE="受付入力" onClick="top.location.href='〜.jsp'">
<BR><BR>
<TABLE Border="1" Bordercolor="000000" Cellspacing="1">
<TR BGCOLOR="#FFFFE0">
<TD><%=rs1.getString("tab_id = TABLE_ID") %></TD>
<TH><%=rs1.getString("code = CODE") %></TH>
<TH><%=rs1.getString("data1 = DATA1") %></TH>
<TH><%=rs1.getString("data2 = DATA2") %></TH>
<TH><%=rs1.getString("data3 = DATA3") %></TH>
<TH><%=rs1.getString("data4 = DATA4") %></TH>
<TH>修正</TH>
<TH>対応入力</TH>
<TH>削除</TH>
</TR>

<%
//検索された行数分だけループ
while(rs.next()){
%>

◇--------------------------------------------------◇
以下のテーブル内で
co_cdと言う値をパラメータとして次の画面に送りたいのですが、
書き方としては大丈夫でしょうか?

<TR BGCOLOR="#FFFFFF">
<TD><%=rs2.getString("co_cd") %></TD>
<TD><%=rs2.getString("cl_cd") %></TD>
<TD><%=rs2.getString("sys_cd") %></TD>
<TD><%=rs2.getString("oc_dt") %></TD>
<TD><%=rs2.getString("wg_cd") %></TD>
<TD><%=rs2.getString("cmp_cd") %></TD>
<TD><Input type="Submit" value="修正" onClick="top.location.href='XXXX.jsp?co_cd=<%=co_cd%>'"></TD>
<TD><Input type="Submit" value="対応" onclick="top.location.href='YYYY.jsp?co_cd=<%=co_cd%>'"></TD>
<TD><Input type="Submit" value="削除" onclick="top.location.href='ZZZZ.jsp?co_cd=<%=co_cd%>'"></TD>
</TR>
<%
} //end While
%>

</TABLE>
◇--------------------------------------------------◇

</form>

</BODY>

</HTML>
skyさん

マルチポストと意識してはないのですが、
結果的にはそうなっています。

申し訳ございません。消します。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Java質問&情報提供サイト 更新情報

Java質問&情報提供サイトのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング