0
件数で条件分岐させる処理について
Java初心者で勉強不足のため、ご回答いただけると幸いです。
現在、ある資格を取得した社員をまとめたデータベースに対して、更新または新規登録を行うプログラムを作成しています。データベース(TN)には「社員番号」と「取得年」をまとめています。
入力フォームで社員番号と資格の取得年を入力し、確認のダイアログで「OK」、「キャンセル」のボタンを表示させた後、「OK」をクリックすると、完了フォームに移動するようにしています。
今回質問したいのは、完了フォーム内の分岐処理についてです。
入力した社員番号と、TNで登録されている社員番号と比較して、
・レコードの件数が0件であれば、SQLのINSERTで新規登録
・それ以外(レコードの件数が1件)であれば、SQLのUPDATEで更新
というコードを作成しました。
ソースコードは以下の通りです。
------------------------------------
// 変数の設定
String sSyainno = request.getParameter("SYAINNO");
String sNendo = request.getParameter("NENDO");
session.setAttribute("SYAINNO",sSyainno);
session.setAttribute("NENDO",sNendo);
// DB接続
Connection con = DriverManager.getConnection(url, user, password);
Statement stmt = con.createStatement();
ResultSet rs;
String sSql = "SELECT COUNT (*) FROM TN WHERE 社員番号 = '" + sSyainno + "'";
int count = rs.getInt("1");
rs.close();
if (ResultSet.count = 0 ) {
sSql = "INSERT INTO TN VALUES(" + sSyainno + ",";
sSql += "'" + sNendo + "'";
sSql += ")";
}
else {
sSql = "UPDATE TN SET ";
sSql += "取得年 = '" + sNendo + "'";
sSql += " WHERE 社員番号 = '" + sSyainno + "'";
}
stmt.execute(sSql);
stmt.close();
con.close();
------------------------------------
上記のコードを実行したところ、
if (ResultSet.count = 0 ) {
の行でエラーが発生しました。
エラーメッセージは以下の通りです。
------------------------------------
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません:
ResultSet.count cannot be resolved
------------------------------------
文法が間違っていると思いますが、ifの内部に入れる文が分からない状況です。
ResultSetに入れた件数を読み込めるようにしたいと思っています。
どうぞよろしくお願いいたします。