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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

Q&A

1回答

6511閲覧

javaからMysqlに更新の処理を行いたい

manmos

総合スコア55

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

0グッド

1クリップ

投稿2016/05/28 10:40

編集2016/05/28 13:12

javaからMysqlを操作するやり方について質問です。

現在jspの入力フォームに入力した情報を使ってMysqlへ登録、更新の処理を行うコードを作成中なのですが、登録の処理を行うコードは完成したのですが更新の処理の書き方がよくわかりません。
Mysqlに直接sql文を入力し更新することはできるのですがこれをjavaでやろうとするところで躓いてます。
登録(insert)の処理はjsp→servlet→Daoと値を受け渡して下記のように行っています。

public void InsertInformation(String name, String name_hiragana, String birthday, String sex, String mail_address, String telephone_number, String company_info_id, String business_maneger, String department, String commissioning_status) throws ClassNotFoundException, SQLException { // SQL文 String sql = "INSERT INTO employee_info (name, name_hiragana, birthday, sex, mail_address, telephone_number, company_info_id, business_maneger, department, commissioning_status) values(?, ?, cast(? as date), ?, ?, ?, ?, ?, ?, ?)"; try { Class.forName("com.mysql.jdbc.Driver"); // ドライバクラスのロード conn = DriverManager.getConnection(url, user, password); // Connectionクラス生成 pstmt = conn.prepareStatement(sql); // PreparedStatementクラス生成 pstmt.setString(1, name); pstmt.setString(2, name_hiragana); pstmt.setString(3, birthday); pstmt.setString(4, sex); pstmt.setString(5, mail_address); pstmt.setString(6, telephone_number); pstmt.setString(7, company_info_id); pstmt.setString(8, business_maneger); pstmt.setString(9, department); pstmt.setString(10, commissioning_status); pstmt.executeUpdate(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { } finally { // 終了処理 // PreparedStatement終了 if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { } pstmt = null; } // Connection終了 if (conn != null) { try { conn.close(); } catch (SQLException e) { } conn = null; } } }

更新(update)の際は、登録の際に自動採番で割り振られるidをwhere句に当てはめて行います。
上記のInsertの処理をUpdateに置き換えて書くとどのようになるでしょうか?

どうかご教授お願いします。

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

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

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

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

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

guest

回答1

0

時間が経っているご質問なので解決してたらごめんなさい。

単純にUPDATEに置き換えてあげれば良いかと思います。

Java

1 2 <宣言部は省略> 3 // SQL文 4 String sql = "UPDATE employee_info SET name=?, name_hiragana=?, birthday=cast(? as date), sex=?, mail_address=?, telephone_number=?, company_info_id=?, business_maneger=?, department=?, commissioning_status=? where id=?"; 5 6 try { 7 Class.forName("com.mysql.jdbc.Driver"); // ドライバクラスのロード 8 9 conn = DriverManager.getConnection(url, user, password); // Connectionクラス生成 10 pstmt = conn.prepareStatement(sql); // PreparedStatementクラス生成 11 12 pstmt.setString(1, name); 13 pstmt.setString(2, name_hiragana); 14 pstmt.setString(3, birthday); 15 pstmt.setString(4, sex); 16 pstmt.setString(5, mail_address); 17 pstmt.setString(6, telephone_number); 18 pstmt.setString(7, company_info_id); 19 pstmt.setString(8, business_maneger); 20 pstmt.setString(9, department); 21 pstmt.setString(10, commissioning_status); 22 pstmt.setString(11, id); // 追加 23 int cnt = pstmt.executeUpdate(); 24 25 <更新結果で何かする場合はcntの値を使用する> 26 27 conn.close(); 28 <例外処理は省略> 29

投稿2016/06/06 04:02

Yuna.S

総合スコア81

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問