管理プログラム作成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 |

|