Java NetBeans (โปรแกรมฟรีๆดีๆที่ใครส่วนมากชอบเขียนกัน)

ในห้อง 'คอมพิวเตอร์ & อินเตอร์เน็ต' ตั้งกระทู้โดย ledphong, 2 มกราคม 2015.

  1. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ุ6.หน้า FormAdd
    ============================
    ปุ่ม GenID กำหนดเลข Auto
    ==============
    try {
    String sql = "SELECT nvl(max(CodePK),0) FROM tblHelp";
    pstmt = connect.prepareStatement(sql);
    rs = pstmt.executeQuery();

    if (rs.next()) {

    int maxID = rs.getInt(1)+1;

    txtCodePK.setText(String.valueOf(maxID));
    String paded = String.format("%7s",String.valueOf(maxID)).replace(' ', '0');
    txtCodeID.setText(paded);
    }

    //ปิดปุ่ม
    btnGenID.setEnabled(false);
    btnEdit.setEnabled(false);
    btnDelete.setEnabled(false);
    btnSearch.setEnabled(false);

    //ปิด textBox
    txtSearch.setEnabled(false);
    txtCodePK.setEnabled(false);
    txtCodeID.setEnabled(false);
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Auto GenID!\n"+ex.getMessage());
    }
     
  2. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่ม Add
    ============================
    if ((txtCodePK.getText().equals("")) && txtCodeID.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณากดปุ่ม GenID,เพศและหมายเหตุ ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    return ;
    }

    String CodePK = txtCodePK.getText();
    String Sex = (String)cbSex.getSelectedItem();
    String FullName = txtFullName.getText();
    String Moo = txtMoo.getText();
    String Poverty = txtPoverty.getText();
    String Help = (String)cbHelp.getSelectedItem();
    String Money = txtMoney.getText();
    String CodeID = txtCodeID.getText();
    String Budget = (String)cbBudget.getSelectedItem();
    String Comment = (String)cbComment.getSelectedItem();

    try {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbHelp.mdb");

    PreparedStatement pstmt = connect.prepareStatement("INSERT INTO tblHelp"+
    "(CodePK,Sex,FullName,Moo,Poverty,Help,Money,CodeID,Budget,Comment) VALUES (?,?,?,?,?,?,?,?,?,?)");
    pstmt.setString(1, CodePK);
    pstmt.setString(2, Sex);
    pstmt.setString(3, FullName);
    pstmt.setString(4, Moo);
    pstmt.setString(5, Poverty);
    pstmt.setString(6, Help);
    pstmt.setString(7, Money);
    pstmt.setString(8, CodeID);
    pstmt.setString(9, Budget);
    pstmt.setString(10, Comment);
    pstmt.executeUpdate();

    JOptionPane.showMessageDialog(null,"บันทึกข้อมูลเรียบร้อยแล้ว","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);
    showdata();
    FormatCell();
    btnRefresh.doClick();

    } catch(Exception e){
    JOptionPane.showMessageDialog(null, "บันทึกข้อมูลผิดพลาด!\n"+e.getMessage());
    }
     
  3. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่ม Search
    ===================
    if ((txtSearch.getText().equals("")) && txtCodePK.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ค้นหาข้อมูลก่อน " ,
    "รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    return ;
    }

    try{
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbHelp.mdb");
    String sql = "Select * from tblHelp " +
    "Where CodePK LIKE '" + txtSearch.getText() + "' " ;
    pstmt = connect.prepareStatement(sql);
    rs = pstmt.executeQuery();

    while(rs.next())
    {
    txtCodePK.setText(String.valueOf(rs.getString("CodePK")));
    cbSex.setSelectedItem(String.valueOf(rs.getString("Sex")));
    txtFullName.setText(String.valueOf(rs.getString("FullName")));
    txtMoo.setText(String.valueOf(rs.getString("Moo")));
    txtPoverty.setText(String.valueOf(rs.getString("Poverty")));
    cbHelp.setSelectedItem(String.valueOf(rs.getString("Help")));
    txtMoney.setText(String.valueOf(rs.getString("Money")));
    txtCodeID.setText(String.valueOf(rs.getString("CodeID")));
    cbBudget.setSelectedItem(String.valueOf(rs.getString("Budget")));
    cbComment.setSelectedItem(String.valueOf(rs.getString("Comment")));

    //ปิดปุ่มและtextBox
    btnGenID.setEnabled(false);
    btnAdd.setEnabled(false);
    btnSearch.setEnabled(false);
    txtSearch.setEnabled(false);
    txtCodePK.setEnabled(false);
    txtCodeID.setEnabled(false);
    }
    showdata();
    FormatCell();
    }catch(Exception ex){
    JOptionPane.showMessageDialog(null, "ไม่สามารถแสดงข้อมูลได้!\n"+ex.getMessage());
    }
     
  4. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่ม Edit หรือ Update (โปรแกรมเมอร์ส่วนมากจะติดตรงนี้กันมาก)
    ========================
    if ((txtSearch.getText().equals("")) && txtCodePK.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ค้นหาข้อมูลก่อน " ,
    "รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    return ;
    }

    //DecimalFormat df = new DecimalFormat("#.00");
    int CodePK = Integer.parseInt(txtCodePK.getText());//ตรงนี้ต้องเป็นแบบนี้ครับ หากไม่เป็นแบบนี้ Update ไม่ได้ครับ
    String Sex = (String)cbSex.getSelectedItem();
    String FullName = txtFullName.getText();
    String Moo = txtMoo.getText();
    String Poverty = txtPoverty.getText();
    String Help = (String)cbHelp.getSelectedItem();
    float Money = Float.parseFloat(txtMoney.getText());
    String Budget = (String)cbBudget.getSelectedItem();
    String Comment = (String)cbComment.getSelectedItem();


    try {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbHelp.mdb");

    PreparedStatement pstmt = connect.prepareStatement("UPDATE tblHelp SET " +
    "Sex = ?,"+
    "FullName = ?,"+
    "Moo = ?,"+
    "Poverty = ?,"+
    "Help = ?,"+
    "Money = ?,"+
    "Budget = ?,"+
    "Comment = ? "+
    "WHERE CodePK = ?");

    pstmt.setString(1, Sex);
    pstmt.setString(2, FullName);
    pstmt.setString(3, Moo);
    pstmt.setString(4, Poverty);
    pstmt.setString(5, Help);
    pstmt.setFloat(6, Money);
    pstmt.setString(7, Budget);
    pstmt.setString(8, Comment);
    pstmt.setInt(9, CodePK);
    pstmt.executeUpdate();

    JOptionPane.showMessageDialog(null,"แก้ไขข้อมูลเรียบร้อยแล้ว","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);
    showdata();
    FormatCell();
    btnRefresh.doClick();
    } catch(Exception e){
    JOptionPane.showMessageDialog(null, "แก้ไขข้อมูลผิดพลาด!\n"+e.getMessage());
    }
     
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 2 มกราคม 2015
  5. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่ม Delete
    ===================
    if ((txtSearch.getText().equals("")) && txtCodePK.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ค้นหาข้อมูลก่อน " ,
    "รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    }

    int CodePK = Integer.parseInt(txtCodePK.getText());
    try {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbHelp.mdb");

    PreparedStatement pstmt = connect.prepareStatement("DELETE FROM tblHelp WHERE CodePK = ?");

    pstmt.setInt(1, CodePK);
    pstmt.executeUpdate();

    JOptionPane.showMessageDialog(null,"ลบข้อมูลเรียบร้อยแล้ว","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);
    showdata();
    FormatCell();
    btnRefresh.doClick();
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"ลบข้อมูลผิดพลาด!\n"+ex.getMessage());
    }
     
  6. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    showdata();
    =======================
    private void showdata()
    {
    DecimalFormat df = new DecimalFormat("#.00");
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    try
    {
    Vector col = new Vector();
    Vector row = new Vector();
    col.add("ลำดับที่");
    col.add("เพศ");
    col.add("ชื่อ-สกุล");
    col.add("หมู่ที่");
    col.add("ระบุความยากจน");
    col.add("ต้องการความช่วยเหลือ");
    col.add("จำนวนเงิน");
    col.add("CodeID");
    col.add("ปีงบ");
    col.add("หมายเหตุ");
    rs = connect.createStatement().executeQuery("SELECT CodePK,Sex,"+
    "FullName,Moo,Poverty,Help,Money,CodeID,Budget,Comment FROM tblHelp " +
    "WHERE [CodePK] like '%" + txtSearch.getText() + "' " +
    "ORDER BY CodeID ASC");
    //"WHERE [Budget] like '%" + jComboBox3.getSelectedItem() + "%' " +
    row.clear();
    int total=0;
    int count=0;
    while(rs.next())
    {

    Vector v = new Vector();
    v.add(rs.getString("CodePK"));
    v.add(rs.getString("Sex"));
    v.add(rs.getString("FullName"));
    v.add(rs.getString("Moo"));
    v.add(rs.getString("Poverty"));
    v.add(rs.getString("Help"));
    v.add(df.format(Double.parseDouble(rs.getString("Money"))));
    v.add(rs.getString("CodeID"));
    v.add(rs.getString("Budget"));
    v.add(rs.getString("Comment"));
    total+=rs.getInt("Money");//ผลรวมเงิน
    count++;//นับว่ามีกี่แถวครับ

    row.add(v);
    }
    CountLabel();
    rs.close();
    jTable1.setGridColor(Color.BLACK);
    jTable1.getTableHeader().setForeground(Color.BLUE);
    jTable1.setShowGrid(true);
    jTable1.setModel(new DefaultTableModel(row,col));
    lblTotal.setText("รวม : " + String.valueOf(nf.format(total))+" บาท");
    lblCount.setText("จำนวน : " +String.valueOf(count)+ " แถว");
    }catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Show Data!\n"+ex.getMessage());
    }
    }
     
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 2 มกราคม 2015
  7. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    FormatCell();
    ================
    private void FormatCell() {
    TableColumn column = null;
    try {
    for (int i = 0; i < 10; i++){
    column = jTable1.getColumnModel().getColumn(i);
    if (i == 0)
    column.setMaxWidth(80);
    if (i == 1)
    column.setMaxWidth(80);
    if (i == 2)
    column.setMaxWidth(200);
    if (i == 3)
    column.setMaxWidth(80);
    if (i == 4)
    column.setMaxWidth(250);
    if (i == 5)
    column.setMaxWidth(180);
    if (i == 6)
    column.setMaxWidth(120);
    if (i == 7)
    column.setMaxWidth(80);
    if (i == 8)
    column.setMaxWidth(80);
    if (i == 9)
    column.setMaxWidth(200);
    }
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Refresh Data!\n"+ex.getMessage());
    }
    }
     
  8. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    คลิ๊กใน jTable แล้วข้อมูล show ใน jTextBox
    =========================
    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
    try{
    i = jTable1.getSelectedRow();
    txtSearch.setText(jTable1.getValueAt(i, 0).toString());
    txtCodePK.setText(jTable1.getValueAt(i, 0).toString());
    cbSex.setSelectedItem(jTable1.getValueAt(i, 1).toString());
    txtFullName.setText(jTable1.getValueAt(i, 2).toString());
    txtMoo.setText(jTable1.getValueAt(i, 3).toString());
    txtPoverty.setText(jTable1.getValueAt(i, 4).toString());
    cbHelp.setSelectedItem(jTable1.getValueAt(i, 5).toString());
    txtMoney.setText(jTable1.getValueAt(i, 6).toString());
    txtCodeID.setText(jTable1.getValueAt(i, 7).toString());
    cbBudget.setSelectedItem(jTable1.getValueAt(i, 8).toString());
    cbComment.setSelectedItem(jTable1.getValueAt(i, 9).toString());

    //ปิดปุ่มและtextBox
    btnGenID.setEnabled(false);
    btnAdd.setEnabled(false);
    txtCodePK.setEnabled(false);
    txtCodeID.setEnabled(false);
    txtSearch.setEnabled(false);
    btnSearch.setEnabled(false);
    //===========New Edit===================

    //======================================
    }catch(Exception e){
    JOptionPane.showMessageDialog(null, "Error select row!\n"+e.getMessage());
    }
    }
     
  9. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ClearAll();
    ======================
    private void ClearAll()
    {
    try {
    txtCodePK.setText("");
    cbSex.setSelectedItem("ชาย");//null
    txtFullName.setText("");
    txtMoo.setText("");
    txtPoverty.setText("");
    cbHelp.setSelectedItem("เงินสงเคราะห์");//null
    txtMoney.setText("0.00");
    txtCodeID.setText("");
    cbBudget.setSelectedItem("2557");//null
    cbComment.setSelectedItem("ช่วยเหลือแล้ว");//null
    txtSearch.setText("");
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Clear All Data!\n"+ex.getMessage());
    }
    }
     
  10. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ตามหลักการของการเขียนโปรแกรม java เขาใช้ prepareStatement มากที่สุดเพราะในเรื่อง performance ครับ
    และเรื่องการโชว์ข้อมูลทางการเงิน java ใช้ เช่น 1500.00 แทนที่จะเป็น 1,500.00 เพราะอะไรหรือครับตอนค้นหาไม่เป็นไรแต่เมื่อใช้ Mouse Click ที่ jTable Cell แล้ว Update ข้อมูลมันจะ Error ครับ
     
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 2 มกราคม 2015
  11. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    Java Netbeans Connect SQL Server 2008 Express
    ===============================
    <pre class="java5" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> FormAdd<span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
    initComponents<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">setLocationRelativeTo</span><span style="color: #009900;">(</span><span style="color: #006600; font-weight: bold;">null</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//center</span>
    setTitle<span style="color: #009900;">(</span><span style="color: #0000ff;">&quot;โปรแกรม Help Care V.2015 (SQL Server 2008 Express)&quot;</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">try</span>
    <span style="color: #009900;">{</span>
    <span style="color: #003399; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">(</span><span style="color: #0000ff;">&quot;com.microsoft.sqlserver.jdbc.SQLServerDriver&quot;</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    connect=<span style="color: #003399; font-weight: bold;">DriverManager</span>.<span style="color: #006633;">getConnection</span><span style="color: #009900;">(</span><span style="color: #0000ff;">&quot;jdbc:sqlserver://LEDPHONG-PC<span style="color: #000099; font-weight: bold;">\\</span>SQLEXPRESS;databaseName=dbHelp;integratedSecurity=true;&quot;</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">//JOptionPane.showMessageDialog(null,&quot;Connect Database Successfully&quot;);</span>
    showdata<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    FormatCell<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    ClearAll<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">}</span>
    <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">(</span><span style="color: #003399; font-weight: bold;">Exception</span> ex<span style="color: #009900;">)</span><span style="color: #009900;">{</span>
    <span style="color: #003399; font-weight: bold;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">(</span><span style="color: #006600; font-weight: bold;">null</span>,<span style="color: #0000ff;">&quot;Connect Database Failed!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>+ex.<span style="color: #006633;">getMessage</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">}</span>
    <span style="color: #009900;">}</span></pre>
     

    ไฟล์ที่แนบมา:

    • java14.png
      java14.png
      ขนาดไฟล์:
      27.2 KB
      เปิดดู:
      37
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 2 มกราคม 2015
  12. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปัญหาการเขียนโปรแกรม Java NetBeans IDE ไม่ดีพอจะ Error ตามข้อความด้านล่างนี้ครับ
    ==========================================
    Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string:“ ”
     
  13. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ครั้งต่อไปจะมาฝึกทำโปรแกรมแบบ Advance ของ NetBeansและหลีกหนี Error
    ================================
    Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string:“ ”
     

แชร์หน้านี้

Loading...