N-BOX
TOP
新着情報
フォトギャラリー
デジモノ
おべんきょう
はまりもの
ひとりごと
カメラ
パソコン
掲示板
プロフィール
リンク
メール
afer_88_31.gif
リンクシェア アフィリエイト紹介プログラム
PSX_120_60
デル5_120x60
富士通ショッピングサイト WEB MART

管理プログラム作成2

 前回はマスターテーブルを作成したので、マスターデータの登録及び更新が出来る画面を作成していきたいと思います。
 学科マスター、教科マスターの登録画面と以前に作った生徒テーブルの3つの登録画面を作成していきます。
 今回作成する画面はひとつの画面上で、登録と更新が出来るようにしたいと思っています。
 画面の上方には登録用の項目があり、下にはすでに登録済みのデータが一覧表示されるようにしたいと思っています。
 一覧データについては、直接修正することで、更新処理も行います。
<FORM action="studymasteradd" method="POST">
<TABLE border="0">
<TBODY>
<TR>
<TD>学科名</TD>
<TD>
<INPUT size="20" type="text" maxlength="100" name="study_name" style="ime-mode:active">
</TD>
</TR>
<TR>
<TD>学年</TD>
<TD>
<INPUT size="5" type="text" maxlength="5" name="grade_no" style="ime-mode:disabled">
</TD>
</TR>
<TR>
<TD>班</TD>
<TD>
<INPUT size="5" type="text" maxlength="20" name="group_name" style="ime-mode:active">
</TD>
</TR>
<TR>
<TD colspan="2" align="right">
<INPUT type="submit" name="login" value="登録">
</TD>
</TR>
</TBODY>
</TABLE>
</FORM>
<%
if (request.getAttribute("message") == null){
}else{
%>
<%= request.getAttribute("message") %>
<%
}
%>
<br><br>
<h1>学科マスター一覧</h1>
<br>
<jsp:include page="studymasterlist" flush="true" />
 上記に表示用のJSPファイルを表示しています。
 登録用のテキストエリアが3つあり、登録用のボタンを配置しています。
 その下には、確認用のメッセージを表示させ、最後に一覧を表示させるJAVAサーブレットを配置しています。
 画面を開くと、登録用の画面と一覧画面が表示され、この画面だけで登録と更新ができるようになります。
 次に上記のJSPファイルで一覧を表示している、学科マスター一覧用のサーブレットを作成していきたいと思います。
 このサーブレットはJSPにインクルードされる形で実行され、結果が表示されます。
まず一覧を表示させるためのSQLを考えていきます。
String sql = "SELECT * FROM study_master where teacher_id = " + user_id;
上記の形でSQLをコーディングします。
学科マスターから、データを検索するのですが、今回は自分で登録したデータだけを検索するためにWhereで教師IDを指定しています。
 SQLが出来たら、実際に検索してデータを表示させていきます。
ResultSet result = statement.executeQuery(sql);
float wspeed = 0;
out.println("<table border='1'><TBODY>");
out.println("<TR><TD>ID</td><td>学科名</td><td>学年</td><td>班</td><td>更新</td></tr>");
String buf = "";
while (result.next()){
  out.println("<TR>");
  out.println("<FORM action='studymasterupd' method='POST'>");
  out.println("<TD><INPUT size='20' type='HIDDEN' maxlength='20' name='id' value='" +
  result.getString("id") + "'>" + result.getString("id") + "</TD>");
  out.println("<TD><INPUT size='20' type='text' maxlength='100' name='study_name'  
  style='ime-mode:active' value='" + result.getString("study_name") + "'>" + "</TD>");
  out.println("<TD><INPUT size='5' type='text' maxlength='5' name='grade_no'
  style='ime-mode:disabled' value='" + result.getString("grade_no") + "'></TD>");
  out.println("<TD><INPUT size='5' type='text' maxlength='20' name='group_name'  
  style='ime-mode:active' value='" + result.getString("group_name") + "'></TD>");

  out.println("<TD><INPUT type='submit' name='login' value='更新'></TD>");
  out.println("</FORM></TR>");
}
out.println("</TBODY></TABLE>");
 一覧データを表の中に表示させるために、”TABLE”を作成します。
 次にWhileでデータがなくなるまで検索を繰り返しています。
 学科マスターの場合には、テーブルのID、学科名、学年、班を表示させます。
 更新可能な項目はテキストボックスにします。
 1行1データとして登録し、更新用のボタンを配置します。
 こうして作成したプログラムを実際に動かしてみたいと思います。
上に登録用エリア、下に一覧表示という形で画面を作成しました。
下の一覧データはサーブレットから出力された内容になります。
 次は、登録用のサーブレットを作成していきたいと思います。
上の登録用フォームに入力された情報を元にデータを登録していきます。
登録用のSQLを考えます。
String sql = "insert study_master (study_name,grade_no,group_name,teacher_id) ";
sql = sql + "values ('" + study_name + "'," + grade_no + ",'" + group_name + "'," + uid + ")";
今回は入力されたデータをINSERT文を使ってデータベースに登録していきます。
 IDについては自動生成されるので、ここでは指定していません。
 登録する項目は、学科名、学年、班、登録教師の4つになります。
statement.executeUpdate(sql);
上記の内容でSQLを実行しデータの登録を行います。
 最後にデータ更新用のプログラムを作ります。
 一覧データの学科名、学年、班を変更可能なようにテキストボックスとして、登録していますので、直接修正し、更新ボタンを押すことで情報の変更を行います。
更新処理のSQLを考えていきます。
sql = "update study_master set study_name = '" + study_name;
sql = sql + "',grade_no = " + grade_no + ",group_name = '" + group_name;
sql = sql + "' where id = " + id;
更新処理の場合は、UPDATE文を使ってデータの更新を行います。
更新する情報は、学科名、学年、班で、IDを条件にすることで、データを特定させています。
statement.executeUpdate(sql);
登録のときと同じように、executeUpdateでデータの更新を行います。
 これで、マスターデータの登録及び更新画面が完成しました。教科マスターと、生徒テーブルも項目名などを変更して同じように作成しています。
 個人的には、細かなデータの修正などは、ACCESSで行っているのですが、プログラムを移行した場合などに備えて、プログラムを作成しました。
 それと今回は削除の画面は作成していません。
 将来的に必要となる可能性はあると思うのですが、頻度としてはそれほど高くないと思い、今回は見送りました。
 いずれ必要になったときには、また作っていきたいと思います。
管理プログラム作成1  UP  管理プログラム作成3