Java コンソールアプリで DB 接続確認 / 更新処理バリエーション
|
|
日時: 2015/09/26 20:09
名前: lightbox
|
MySQL 一覧表示
MySQL 更新1 (修正)
MySQL 更新2 (修正)
MySQL 更新3 (追加)
拡張子:
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();
}
}
}
MySQL 更新4 (削除)
参考
|
|
Postgres : postgresql-9.4-1202.jdbc41.jar ( No.1 ) |
|
日時: 2015/09/14 20:45
名前: lightbox
|
日時: 2015/09/14 20:45 名前: lightbox
|
SQLExpress( SQLServer ) : sun.jdbc.odbc.JdbcOdbcDriver ( No.2 ) |
日時: 2015/09/14 21:23 名前: lightbox
Java7 以前でビルドする必要があります( java8 では sun.jdbc.odbc.JdbcOdbcDriver は削除されました )
|
Microsoft Access : sun.jdbc.odbc.JdbcOdbcDriver ( No.3 ) |
日時: 2015/09/14 21:29 名前: lightbox
|
Microsoft Excel : sun.jdbc.odbc.JdbcOdbcDriver ( No.4 ) |
日時: 2015/09/14 21:34 名前: lightbox
拡張子:
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main {
public static void main(String[] args) {
// メッセージボックスのフォント変更
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:odbc:Provider=MSDASQL;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=c:\\tmp\\社員マスタ.xlsx;";
Properties prop = new Properties();
prop.put("charSet", "MS932");
con = DriverManager.getConnection(connectString,prop);
stmt = con.createStatement();
String scode = "0001";
String query = "select * from [社員マスタ] where [社員コード] = '" + scode + "'";
rset = stmt.executeQuery ( query );
if ( rset.next() ) {
String name = rset.getString( "氏名" );
JOptionPane.showMessageDialog(null, name);
}
else {
JOptionPane.showMessageDialog(null, "入力した社員コードは存在しません");
}
rset.close();
stmt.close();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
|
|
|
|