public class Main extends JFrame {
private JPanel contentPane;
private JTextField syainCode;
private JTextField syainName;
private final Action checkAction = new CheckAction();
private final Action cancelAction = new CancelAction();
private JButton checkButton;
private JButton updateButton;
private JButton cancelButton;
private String currentDir = null;
private Connection con = null;
private Statement stmt = null;
private ResultSet rset = null;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Main() {
addWindowListener(new WindowAdapter() {
@Override
public void windowActivated(WindowEvent arg0) {
Main.this.setLocationRelativeTo(null);
currentDir = System.getProperty("user.dir");
System.out.println(currentDir);
}
});
setResizable(false);
setTitle("\u793E\u54E1\u30DE\u30B9\u30BF\u30E1\u30F3\u30C6");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel label = new JLabel("\u30B3\u30FC\u30C9");
label.setBounds(31, 32, 50, 13);
contentPane.add(label);
JLabel label_1 = new JLabel("\u6C0F\u540D");
label_1.setBounds(31, 88, 50, 13);
contentPane.add(label_1);
syainCode = new JTextField();
syainCode.setBounds(78, 29, 50, 19);
contentPane.add(syainCode);
syainCode.setColumns(10);
syainName = new JTextField();
syainName.setEnabled(false);
syainName.setColumns(10);
syainName.setBounds(78, 85, 202, 19);
contentPane.add(syainName);
checkButton = new JButton("\u78BA\u8A8D");
checkButton.setAction(checkAction);
checkButton.setBounds(304, 28, 106, 21);
contentPane.add(checkButton);
updateButton = new JButton("\u66F4\u65B0");
updateButton.setEnabled(false);
updateButton.setBounds(304, 170, 106, 21);
contentPane.add(updateButton);
cancelButton = new JButton("\u30AD\u30E3\u30F3\u30BB\u30EB");
cancelButton.setAction(cancelAction);
cancelButton.setEnabled(false);
cancelButton.setBounds(304, 208, 106, 21);
contentPane.add(cancelButton);
}
private class CheckAction extends AbstractAction {
public CheckAction() {
putValue(NAME, "確認");
putValue(SHORT_DESCRIPTION, "Some short description");
}
public void actionPerformed(ActionEvent e) {
// 実際は、getConnect が失敗した場合の処理が必要です
getConnect();
try {
stmt = con.createStatement();
String scode = syainCode.getText();
rset = stmt.executeQuery ( "select * from 社員マスタ where 社員コード = '" + scode + "'" );
if ( rset.next() ) {
syainName.setText(rset.getString( "氏名" ));
syainCode.setEnabled(false);
checkButton.setEnabled(false);
syainName.setEnabled(true);
updateButton.setEnabled(true);
cancelButton.setEnabled(true);
syainName.requestFocusInWindow();
syainName.selectAll();
}
else {
JOptionPane.showMessageDialog(contentPane, "入力した社員コードは存在しません");
syainCode.requestFocusInWindow();
syainCode.selectAll();
}
rset.close();
stmt.close();
} catch (Exception e1) {
// TODO
e1.printStackTrace();
}
con.close();
}
}
private class CancelAction extends AbstractAction {
public CancelAction() {
putValue(NAME, "キャンセル");
putValue(SHORT_DESCRIPTION, "Some short description");
}
public void actionPerformed(ActionEvent e) {
Main.this.syainCode.setEnabled(true);
Main.this.checkButton.setEnabled(true);
Main.this.syainName.setEnabled(false);
Main.this.updateButton.setEnabled(false);
Main.this.cancelButton.setEnabled(false);
syainName.setText("");
}
}
private boolean getConnect() {
boolean connect_result = true;
String connectionString = "";
// *********************************************
// ODBC 用接続文字列
// *********************************************
// MDB
connectionString = "Provider=MSDASQL"
+ ";Driver={Microsoft Access Driver (*.mdb)}"
+ ";Dbq=" + currentDir + "\\data\\販売管理C.mdb" + ";";
try {
Properties prop = new Properties();
prop.put("charSet", "MS932");
System.out.println(connectionString);
con = DriverManager.getConnection("jdbc:odbc:"+connectionString, prop);
} catch (Exception e1) {
// TODO
e1.printStackTrace();
connect_result = false;
}
return connect_result;
}
}