WindowBuilder JFrame アプリケーションプロジェクト (3)

  入力チェック





	private class UpdateAction extends AbstractAction {
		public UpdateAction() {
			putValue(NAME, "更新");
			putValue(SHORT_DESCRIPTION, "Some short description");
		}
		public void actionPerformed(ActionEvent e) {
			// 必須チェック
			String inputString = null;
			inputString = syainName.getText();
			inputString = inputString.replaceAll(" ", "");	// 漢字スペースを除去
			if ( inputString.trim().equals("") ) {	// スペースを除去してなにも無い場合
				JOptionPane.showMessageDialog(
						contentPane,
						"必須入力です",
						"エラー",
						JOptionPane.ERROR_MESSAGE);
				syainName.setText("");	// 空白文字があっても無いようにする
				syainName.requestFocusInWindow();
				syainName.selectAll();
				return;
			}
			
			// 文字数チェック
			int len = 0;
			len = (syainName.getText()).length();
			if ( len > 50 ) {
				JOptionPane.showMessageDialog(
						contentPane,
						"文字数が長すぎます",
						"エラー",
						JOptionPane.ERROR_MESSAGE);
				syainName.requestFocusInWindow();
				syainName.selectAll();
				return;
			}

			// 数値チェック
			int num = 0;
			try {
				num = Integer.parseInt(syainSyozoku.getText());
			} catch (Exception ex) {
				num = -1;
			}
			if ( num < 0 ) {
				JOptionPane.showMessageDialog(
						contentPane,
						"正しい数字を入力して下さい",
						"エラー",
						JOptionPane.ERROR_MESSAGE);
				syainSyozoku.requestFocusInWindow();
				syainSyozoku.selectAll();
				return;
			}
			
			// 日付チェック
			String birth = syainBirth.getText();
			SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
			dateFormat.setLenient(false);
			Date date = null;
			try {
				date = dateFormat.parse(birth);
			} catch (Exception ex) {
				date = null;
			}
			if ( date == null ) {
				JOptionPane.showMessageDialog(
						contentPane,
						"日付が正しくありません",
						"エラー",
						JOptionPane.ERROR_MESSAGE);
				syainBirth.requestFocusInWindow();
				syainBirth.selectAll();
				return;
			}
			
			if ( !rdbms.getConnect() ) {
				JOptionPane.showMessageDialog(
						contentPane,
						"データベースに接続できませんでした\nシステム管理者に連絡してください",
						"エラー",
						JOptionPane.ERROR_MESSAGE);
				syainCode.requestFocusInWindow();
				syainCode.selectAll();
				return;
			}
			
			// 参照チェック
			try {
				
				rdbms.stmt = rdbms.con.createStatement();
				String scode = syainSyozoku.getText();
				String query = "";
				query += "select *";
				query += " from コード名称マスタ";
				query += " where コード名称マスタ.区分 = 2";
				query += " and コード  = '" + scode + "'";				
				System.out.println(query);
				rdbms.rset = rdbms.stmt.executeQuery ( query );
				if ( rdbms.rset.next() ) {
					syainSyozokuName.setText(rdbms.rset.getString( "名称" ));
				}
				else {
					JOptionPane.showMessageDialog(
							contentPane,
							"入力したコードは存在しませんでした",
							"エラー",
							JOptionPane.ERROR_MESSAGE);
					syainSyozoku.requestFocusInWindow();
					syainSyozoku.selectAll();
					rdbms.close();
					return;
				}
				
			} catch (Exception ex) {
				ex.printStackTrace();
			}				
			
			// ここに更新処理を記述する
			
			rdbms.close();
		}
	}


関連する記事















  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ