![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
更新処理についてなのですが、現状では更新したい項目だけを入力すると入力されなかった項目にはデフォルトの値が上書きされてしまいます。
値が入力されたところだけを更新をかけるようにするにはどのように書き換えればいいでしょうか?
よろしくお願いします。
// 更新処理
public void updateDatas(String getUserNo, String getUserId, String getPasswd, String getName, String getAccessFlg){
this.userNo=getUserNo; this.userId=getUserId; this.passwd=getPasswd; this.name=getName; this.accessFlg=getAccessFlg;
jdbcOpen();
try{
// SQL文生成(更新)
query = "UPDATE loginuser SET userId = '"+userId+"', passwd = '"+passwd+"', name = '"+name+"', accessFlg = '"+accessFlg+"' where userNo ="+userNo;
System.out.println("UPDATE query"+query);
// 実行
int flgUpdated = stmt.executeUpdate(query);
} catch (Exception ex) { ex.printStackTrace ();}
jdbcClose();
}
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
No.2ベストアンサー
- 回答日時:
とりあえず、配列に入れて、4回のif文をループで回すようにしてみました。
このままではSQLインジェクション対策してないので、そこはまた勉強して対策とって下さい。
// SQL文生成(更新)
String[] columAry = {"userId", "passwd", "name", "accessFlg"};
String[] dataAry = { userId, passwd, name, accessFlg};
String query= "UPDATE loginuser SET ";
int data_flag = 0;
for(int i=0; i<columAry.length; i++ ){
if(! "".equals(dataAry[i]) ){
if(data_flag>0){
query += ", ";
}
query += columAry[i] + "='" + dataAry[i] + "' ";
}
}
query += " where userNo ="+userNo;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) どうしてもエラーが解決できません。 1 2022/07/23 04:32
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- Java java final 1 2022/06/10 22:49
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
Ctrl+Zが入力されると終了する...
-
論理演算子”||”またはの入力方法
-
エラー(互換性の無い型)
-
7つ数字を表示したら改行すると...
-
JAVAのfor文で困っています。
-
コマンドライン引数の例外処理...
-
java 素数判定
-
Randomメソッドの確率設定
-
JSPやサーブレットでSystem.out...
-
C言語のポインターに関する警告
-
Javaで改行などが出来ないのです。
-
[JAVA]try 内の変数を外で!?
-
ダブルクォーテーションのrepla...
-
オブジェクトの中のプロパティ...
-
substring バイト単位でやりたい
-
複数のテキストボックスに同じ...
-
C# ListBoxのインデックスの値...
-
ダブルクォーテーションを含む...
-
BOOL値を逆にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
java キーボード入力された値の...
-
テキストボックスに入力された...
-
論理演算子”||”またはの入力方法
-
総称型ArrayList<E>への参照...
-
7つ数字を表示したら改行すると...
-
Ctrl+Zが入力されると終了する...
-
countに実行した回数をいれたい...
-
キーボードから10人分の点数を...
-
Java、2の0乗~10乗の表示
-
Randomメソッドの確率設定
-
数値⇒漢数字変換 java
-
コマンドライン引数の例外処理...
-
Java 入力した整数値の合計を、...
-
javaのエラーが回収できない
-
2つのスクロールバーを連動させ...
-
階乗の式
-
C#の質問
-
Java キーボードから負の数が入...
おすすめ情報