質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

764閲覧

formの内容を更新する

ryoga4869

総合スコア17

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2019/07/16 05:05

~登録更新削除ができる顧客登録画面の作成~
データベースの内容を新規登録の際に使用したformより入力し更新できるプログラムを作成中です。
一覧の横の更新ボタン押下によりformに更新ボタンの横のレコードを出力したいと考えております。
(同じレイアウトの別画面を用意するつもりです。)
select文で更新したい内容をformに出力する方法が分からなくて苦戦しております。
何かアドバイスかヒントのようなものがあればご教授願います。
出力がする事が出来ればInsertと同様にSQLの処理が出来ると思います。

一覧画面の例 id name tel gender 5 Tanaka 123 female 更新 削除 4 Yamada 456 male 更新 削除 3 ... 2 ... 1 Yamane 222 male 更新 削除

更新と削除はボタンになっています。
やりたい事の例を挙げると
一番上の更新ボタンを押すことで id=5 を取得しそのレコードをformに表示する事です。

あまり言葉では伝えずらいので分かりにくくなってますがその都度質問ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2019/07/16 05:11

質問に CREATE TABLE も提示した方が適切なコメントが付き易いです。
guest

回答1

0

ベストアンサー

id=5 を取得しそのレコードをformに表示する事です

考え方合ってます。

要は「入力コントロールの各初期値がデータベースから取得した情報」となるわけです。

同じjsp(ビューファイル)を利用したいのでしたら、
全てに初期値を持っておき、新規登録時→空 更新時→DBより取得した値
とすれば良いです。

投稿2019/07/16 05:08

m.ts10806

総合スコア80852

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryoga4869

2019/07/16 05:26

回答ありがとうございます。 画面は更新ボタンにより別の同レイアウトの画面に変更するつもりです。 その更新ボタンによる処理についてあまり理解できていなくて... どの更新ボタンを押してもその更新ボタンのある行のレコードを取得する方法?がよくわかりません。 それとformの下に一覧の表示をしているのでselect文を二重(一覧に対するselectとformに対するselect)に実行することは可能なのでしょうか?
m.ts10806

2019/07/16 05:33 編集

「ボタン」はあくまで「何かしらの処理を行うための道具」と考えてください。 今回は「編集画面に遷移するための”リンク”」です。ボタンではありません。 挙動としてはteratailの質問一覧→質問詳細 が参考になります。 「URLパラメータにIDを含める」→「そのIDを編集画面で取得してDBにSELECTのWHERE句に入れる」です。
m.ts10806

2019/07/16 06:44

>そのIDを編集画面で取得して サーブレット的に表現すると「編集画面のサーブレットのdoGetで取得して」ですね。 おおよそクエリストリングで渡すものと思いますが、formのmethod=getにしたときと同じです。
ryoga4869

2019/07/16 06:50

参考にさせて頂き考えたのですが、 押下したものが、どのように他の押下していない更新との区別化が出来るのでしょうか? すみません。押下した行のレコードを取る際のwhere句の値など理解出来ておりません。
ryoga4869

2019/07/16 06:55

もしかしてですが、押下した行のレコードを更新処理が出来るjspのformに送信し、 SQLは使わずそのまま表示するという事ですか?
m.ts10806

2019/07/16 06:57

>押下したものが、どのように他の押下していない更新との区別化が出来るのでしょうか? すみません。押下した行のレコードを取る際のwhere句の値など理解出来ておりません。 リンクに ?id={テーブルのID}を入れておけば「選択したデータのID」をGETパラメータで渡せます。 そのGETパラメータを受け取って select * from table where id = {受け取ったパラメータ} とすれば「指定したIDの情報」が取得できます。
ryoga4869

2019/07/16 07:02

ありがとうございます。 いろんなサイトを参考にしながら実際にコードを書いてみる事にします。
m.ts10806

2019/07/16 07:12

あくまで「ボタンによるアクションではなくリンク」というところを忘れないようにしてくださいね。
ryoga4869

2019/07/16 07:31

わかりました。 ありがとうございます。
m.ts10806

2019/07/16 07:32

解決とされたようですが、考え方だけで良かったのでしょうか?
ryoga4869

2019/07/16 07:36

そうですね。。 アドバイスと明記しておりましたので、ひとまずは自分で作成してみるつもりです。
m.ts10806

2019/07/16 07:58 編集

了解です。確かに質問本文に書かれてましたね。 ここが理解・実装できれば一気にやれることが広がると思います。 がんばってください。
ryoga4869

2019/07/16 07:57

ありがとうございます。 自分の力で出来るよう頑張ります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問