コメント |
@SHOW
プロジェクトに libs フォルダを作成して、以下のライプラリをコピーして Eclipse で F5 で再表示した後、右クリックで『ビルドパス』から追加
mysql-connector-java-5.1.30-bin.jar
▼ MySQL の JDBC ドライバでキャラクタセットの指定
http://dev.mysql.com/doc/connector-j/en/connector-j-reference-charsets.html
@END
[[MySQL 一覧表示]]
@DIV
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main {
public static void main(String[] args) {
System.out.println("処理開始");
// メッセージボックスのフォント変更
Font myFont = new Font("メイリオ", Font.PLAIN, 20);
UIManager.put("OptionPane.messageFont", myFont);
UIManager.put("OptionPane.buttonFont", myFont);
// DB 用
Connection con = null;
Statement stmt = null;
ResultSet rset = null;
try {
String connectString = "jdbc:mysql://localhost/lightbox?user=root&password=パスワード";
con = DriverManager.getConnection(connectString);
stmt = con.createStatement();
String query = "select * from `社員マスタ` where `社員コード` between '0001' and '0010'";
rset = stmt.executeQuery(query);
while (rset.next()) {
String 氏名 = rset.getString("氏名");
System.out.print(氏名);
String フリガナ = rset.getString("フリガナ");
System.out.print("," + フリガナ);
int 給与 = rset.getInt("給与");
System.out.print("," + Integer.toString(給与));
String 更新日 = rset.getString("更新日");
System.out.print("," + 更新日);
String 生年月日 = rset.getString("生年月日") == null ? "なし" : rset.getString("生年月日");
System.out.print("," +生年月日);
System.out.println();
}
rset.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
JOptionPane.showMessageDialog(null, "処理が終了しました");
}
}
@END
[[MySQL 更新1 (修正)]]
@DIV
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main {
public static void main(String[] args) {
System.out.println("処理開始");
// メッセージボックスのフォント変更
Font myFont = new Font("メイリオ", Font.PLAIN, 20);
UIManager.put("OptionPane.messageFont", myFont);
UIManager.put("OptionPane.buttonFont", myFont);
// DB 用
Connection con = null;
Statement stmt = null;
ResultSet rset = null;
try {
String connectString = "jdbc:mysql://localhost/lightbox?user=root&password=パスワード";
con = DriverManager.getConnection(connectString);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String scode = "0001";
String query = "select * from `社員マスタ` where `社員コード` = '" + scode + "'";
rset = stmt.executeQuery ( query );
if ( rset.next() ) {
String 氏名 = rset.getString( "氏名" );
JOptionPane.showMessageDialog(null, 氏名 + " を更新します");
rset.updateString("氏名", "山田 太郎");
rset.updateInt("給与", rset.getInt("給与")+1);
rset.updateRow();
}
else {
JOptionPane.showMessageDialog(null, "入力した社員コードは存在しません");
}
rset.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
@END
[[MySQL 更新2 (修正)]]
@DIV
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main {
public static void main(String[] args) {
System.out.println("処理開始");
// メッセージボックスのフォント変更
Font myFont = new Font("メイリオ", Font.PLAIN, 20);
UIManager.put("OptionPane.messageFont", myFont);
UIManager.put("OptionPane.buttonFont", myFont);
// DB 用
Connection con = null;
Statement stmt = null;
Statement stmt_update = null;
ResultSet rset = null;
try {
String connectString = "jdbc:mysql://localhost/lightbox?user=root&password=パスワード";
con = DriverManager.getConnection(connectString);
stmt = con.createStatement();
stmt_update = con.createStatement();
String scode = "0001";
String query = "select * from `社員マスタ` where `社員コード` = '" + scode + "'";
rset = stmt.executeQuery ( query );
if ( rset.next() ) {
String 氏名 = rset.getString( "氏名" );
JOptionPane.showMessageDialog(null, 氏名 + " を更新します");
String 更新SQL = "update `社員マスタ` set `氏名` = '山田 太郎',`給与` = 270000,`生年月日` = '1987/07/09' where `社員コード` = '" + scode + "'";
stmt_update.executeUpdate(更新SQL);
}
else {
JOptionPane.showMessageDialog(null, "入力した社員コードは存在しません");
}
rset.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
@END
[[MySQL 更新3 (追加)]]
@DIV
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main {
public static void main(String[] args) {
System.out.println("処理開始");
// メッセージボックスのフォント変更
Font myFont = new Font("メイリオ", Font.PLAIN, 20);
UIManager.put("OptionPane.messageFont", myFont);
UIManager.put("OptionPane.buttonFont", myFont);
// DB 用
Connection con = null;
Statement stmt = null;
ResultSet rset = null;
try {
String connectString = "jdbc:mysql://localhost/lightbox?user=root&password=パスワード";
con = DriverManager.getConnection(connectString);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String scode = "0001";
String query = "select max(社員コード) as 最大キー from `社員マスタ`";
rset = stmt.executeQuery ( query );
rset.next();
String 最大キー = rset.getString( "最大キー" );
int 最大数 = Integer.parseInt(最大キー)+1;
最大キー = String.format("%04d", 最大数);
rset.close();
System.out.println(最大キー);
query = "select * from `社員マスタ` where `社員コード` = '" + 最大キー + "'";
rset = stmt.executeQuery ( query );
if ( !rset.next() ) {
JOptionPane.showMessageDialog(null, "データを追加します");
rset.moveToInsertRow();
rset.updateString("社員コード", 最大キー);
rset.updateString("氏名", "追加社員名");
rset.insertRow();
rset.moveToCurrentRow();
}
else {
JOptionPane.showMessageDialog(null, "入力した社員コードが存在します");
}
rset.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
@END
[[MySQL 更新4 (削除)]]
@DIV
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main {
public static void main(String[] args) {
System.out.println("処理開始");
// メッセージボックスのフォント変更
Font myFont = new Font("メイリオ", Font.PLAIN, 20);
UIManager.put("OptionPane.messageFont", myFont);
UIManager.put("OptionPane.buttonFont", myFont);
// DB 用
Connection con = null;
Statement stmt = null;
ResultSet rset = null;
try {
String connectString = "jdbc:mysql://localhost/lightbox?user=root&password=パスワード";
con = DriverManager.getConnection(connectString);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String query = "select * from `社員マスタ` order by 社員コード";
rset = stmt.executeQuery ( query );
if ( rset.next() ) {
JOptionPane.showMessageDialog(null, "一番社員番号の大きいデータを削除します");
rset.last();
rset.deleteRow();
}
else {
JOptionPane.showMessageDialog(null, "データが一件も存在しません");
}
rset.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
@END
[[参考]]
@DIV
ResultSetを用いた更新処理
http://www.techscore.com/tech/Java/JavaEE/JDBC/5/
@END |