วันอาทิตย์ที่ 7 กุมภาพันธ์ พ.ศ. 2553

การจัดการฐานข้อมูล (Managing to Database)

เมื่อเราสามารถเรียกข้อมูลจาก Database ออกมาแสดงได้แล้ว จากนี้เราสามารถเขียนปุ่มคำสั่งต่าง
ๆ เพื่อจัดการกับข้อมูลภายในฐานข้อมูลได้
การสร้างปุ่มคำสั่งเพื่อจัดการกับฐานข้อมูล (JFdbManage.java)
Output:
กำหนด Properties ให้กับแต่ละ Component ดังนี้
Component
Properties
JButton1
เปลี่ยนข้อความบนปุ่ม (Edit Text) : l<
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdtop
JButton2
เปลี่ยนข้อความบนปุ่ม (Edit Text) : <
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdpre
JButton3
เปลี่ยนข้อความบนปุ่ม (Edit Text) : >
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdnext
JButton4
เปลี่ยนข้อความบนปุ่ม (Edit Text) : >l
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdlast
JButton5
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Add
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdadd
JButton6
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Save
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdsave
JButton7
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Delete
เปลี่ยนชื่อเป็น(Change Variable Name) : cmddel
JButton8
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Update
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdedit
JButton9
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Find
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdfind
JButton10
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Print
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdprint
JButton11
เปลี่ยนข้อความบนปุ่ม (Edit Text) : Close
เปลี่ยนชื่อเป็น(Change Variable Name) : cmdclose
JTextField1
เปลี่ยนข้อความบนปุ่ม (Edit Text) : ค่าว่าง
JTextField2
เปลี่ยนข้อความบนปุ่ม (Edit Text) :ค่าว่าง
JTextField3
เปลี่ยนข้อความบนปุ่ม (Edit Text) :ค่าว่าง
JLabel1
เปลี่ยนข้อความบนปุ่ม (Edit Text) :รหัส
JLabel2
เปลี่ยนข้อความบนปุ่ม (Edit Text) :ชื่อ
JLabel3
เปลี่ยนข้อความบนปุ่ม (Edit Text) :นามสกุล
JFrame
title : Manage DB
ตารางที่ 11.... กำหนดคุณสมบัติของ Component ในหน้าจอ Frame Design
Source Code:
package applicationann;
import java.sql.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.xml.transform.Result;
import javax.swing.JOptionPane;
public class JFdbManage extends javax.swing.JFrame {
Statement stmt1,stmt;
Connection con;
public int mem=0;
/** Creates new form JFdb */
public JFdbManage () {
initComponents();
}
private void formWindowClosed(java.awt.event.WindowEvent evt) {
try{
con.close();
}catch(SQLException e){
}
// TODO add your handling code here:
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException ex){
}
try{
String url = "jdbc:odbc:testjava";
con = DriverManager.getConnection(url,"per_dep.mdb","");
stmt1 = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}catch(SQLException e){
System.err.print(e.getMessage());
}
//--------------
try{
String SQL = "select * from personal order by id";
ResultSet rs = stmt1.executeQuery(SQL);
rs.first();
mem = rs.getRow();
text1.setText(rs.getString("id"));
text2.setText(rs.getString("name"));
text3.setText(rs.getString("last_name"));
}catch(SQLException e){
System.err.print(e.getMessage());
}
// TODO add your handling code here:
}
//**********************************************************************
private void cmdsaveMouseClicked(java.awt.event.MouseEvent evt) {
try{
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from personal";
ResultSet rs = stmt.executeQuery(SQL);
rs.absolute(mem);
rs.updateString("id",text1.getText());
rs.updateString("name",text2.getText());
rs.updateString("last_name",text3.getText());
rs.insertRow();
rs.refreshRow();
}catch (SQLException e) {
System.err.print(e.getMessage());
}
// TODO add your handling code here:
}
private void cmdpreMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
String SQL = "select * from personal";
ResultSet rs = stmt1.executeQuery(SQL);
mem--;
rs.absolute(mem);
mem = rs.getRow();
System.out.println(mem);
text1.setText(rs.getString("id"));
text2.setText(rs.getString("name"));
text3.setText(rs.getString("last_name"));
}catch(SQLException e){
System.err.print(e.getMessage());
}
if (mem==0)
{
System.out.println("First record");
cmdpre.setToolTipText("First Record");
cmdpre.setEnabled(false);
cmdtop.setEnabled(false);
cmdnext.setEnabled(true);
cmdlast.setEnabled(true); }
else{
cmdtop.setEnabled(false);
cmdnext.setEnabled(true);
cmdlast.setEnabled(true);
cmdtop.setEnabled(true);
}
}
private void cmdnextMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
String SQL = "select * from personal";
ResultSet rs = stmt1.executeQuery(SQL);
mem++;
rs.absolute(mem);
mem = rs.getRow();
System.out.println(mem);
text1.setText(rs.getString("id"));
text2.setText(rs.getString("name"));
text3.setText(rs.getString("last_name"));
}catch(SQLException e){
System.err.print(e.getMessage());
}
if (mem==0)
{
System.out.println("Last record");
cmdnext.setToolTipText("Last Record");
cmdnext.setEnabled(false);
cmdlast.setEnabled(false);
cmdtop.setEnabled(true);
cmdpre.setEnabled(true); }
else {
cmdtop.setEnabled(true);
cmdpre.setEnabled(true);
cmdlast.setEnabled(true); }
}
private void cmdlastMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
String SQL = "select * from personal";
ResultSet rs = stmt1.executeQuery(SQL);
rs.last();
mem = rs.getRow();
System.out.println(mem);
text1.setText(rs.getString("id"));
text2.setText(rs.getString("name"));
text3.setText(rs.getString("last_name"));
}catch(SQLException e){
System.err.print(e.getMessage());
}
cmdlast.setToolTipText("Last Record");
cmdlast.setEnabled(false);
cmdnext.setEnabled(false);
cmdtop.setEnabled(true);
cmdpre.setEnabled(true);
}
private void cmdtopMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
String SQL = "select * from personal";
ResultSet rs = stmt1.executeQuery(SQL);
rs.first();
mem = rs.getRow();
System.out.println(mem);
text1.setText(rs.getString("id"));
text2.setText(rs.getString("name"));
text3.setText(rs.getString("last_name"));
}catch(SQLException e){
System.err.print(e.getMessage());
}
if (mem==1) {
cmdtop.setEnabled(false);
cmdtop.setToolTipText("First Record");
cmdpre.setEnabled(false);
cmdnext.setEnabled(true);
cmdlast.setEnabled(true);
}
}
private void text2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
text3.requestFocus();
}
private void text1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
text2.requestFocus();
}
private void cmdcloseMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
con.close();
dispose();
}catch(SQLException e){
}
}
private void cmdeditMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from personal";
ResultSet rs = stmt.executeQuery(SQL);
rs.absolute(mem);
System.out.println(mem);
rs.updateString("name",text2.getText());
rs.updateString("last_name",text3.getText());
rs.updateRow();
}catch (SQLException e) {
System.err.print(e.getMessage());
}
}
private void cmddelMouseClicked(java.awt.event.MouseEvent evt) {
try{
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from personal";
ResultSet rs = stmt.executeQuery(SQL);
rs.absolute(mem);
mem = rs.getRow();
System.out.println("delete record : "+mem);
if (JOptionPane.showConfirmDialog(null,"Delete sure?",
"Confirm",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){
rs.deleteRow();
rs.absolute(--mem);
text1.setText(rs.getString("id"));
text2.setText(rs.getString("name"));
text3.setText(rs.getString("last_name")); }
}catch (SQLException e) {
System.err.print(e.getMessage());
}
// TODO add your handling code here:
}
private void cmdaddMouseClicked(java.awt.event.MouseEvent evt) {
try{
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from personal";
ResultSet rs = stmt.executeQuery(SQL);
rs.last();
mem = rs.getRow();
mem++;
rs.absolute(mem);
rs.moveToInsertRow();
System.out.println(mem);
text1.requestFocus();
text1.setText("");
text2.setText("");
text3.setText("");
}catch (SQLException e) {
System.err.print(e.getMessage());
}
// TODO add your handling code here:
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น