မင်္ဂလာပါ!

လှိုက်လှဲစွာကြိုဆိုပါသည်။ ယခု ပထမဆုံးအကြိမ် ရောက်ဖူးခြင်းဖြစ်ပါသလား? ဝင်ရောက် ဆွေးနွေး မေးမြန်းလိုပါလျှင် အောက်တွင်ဖော်ပြထားသော button များမှတဆင့် ဝင်ရောက် ဆွေးနွေးနိုင်သကဲ့သို့ အဖွဲ့ဝင်အသစ်အနေဖြင့်လည်း လျှောက်ထားနိုင်ပါတယ်။

MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

autogenerate ID

edited September 2014 in Database
    CREATE TABLE ADMIN(
    ADMIN_ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY
                    (START WITH 1, INCREMENT BY 1),   
    NAME VARCHAR (50),
    PASSWORD VARCHAR (25),
    GMAIL VARCHAR (50)
    
    )

Netbeans sample DB သံုးထား, servlet ရယ်, dao implement ရယ်ထဲမှာ coding တွေဘယ်လိုသွားပြင်ရပါ့မလဲ..

မှတ်ချက်များ

  • Administrators

    what is your question ? :-/

  • Registered Users

    UI မှာ ID မတောင်းပဲ နောက်ကွယ်မှာ ID autogenerate လုပ်ပြီး database ထဲေရာက်အောင် ဘယ်လိုလုပ်ရမလဲလို့ မေးတာ :D :-*

  • Administrators
    ADMIN_ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY
                    (START WITH 1, INCREMENT BY 1),
    

    က auto increment လုပ်ထားတာ မဟုတ်ဘူးလား ? auto generate ဆိုတာ ဘာကို ဆိုလိုတာလဲ မသိဘူး။ sql အရ ဆိုရင်တော့ အမြဲတန်း auto increase လုပ်လုပ်ပြီး row တွေ ထည့်ထားတယ် မဟုတ်ဘူးလား ?

  • Registered Users

    Servlet (UI ကထည့်တာကို request.getparameter(" ") ) နဲ့ Dao Implements ဘက်မှာ code တွေဘယ်လို change ရမလဲလို့ :-O

  • Administrators

    မေးခွန်းကိုတော့ အခုထက်ထိ သေသေချာချာ နားမလည်သေးဘူး :D

    UI ကနေ id မတောင်းရင် login ဝင်တဲ့ အခါမှာ user id ကို session ထဲမှာ သိမ်းထားတယ် မဟုတ်ဘူးလား ?

    user id ကို session ထဲကနေ ပြန်ဆွဲထုတ်ရုံပဲ မဟုတ်ဘူးလား ?

  • edited October 2014 Registered Users

    admin.sql

    CREATE TABLE ADMIN(
    ADMIN_ID INTEGER NOT NULL PRIMARY KEY,   
    NAME VARCHAR (50),
    PASSWORD VARCHAR (25),
    GMAIL VARCHAR (50)
    )
    
    
  • edited October 2014 Registered Users

    AdminDao.java

        package com.ydp.dao;
        
        import com.ydp.encapsulation.Admin;
        import java.sql.SQLException;
        import java.util.List;
        
         public interface AdminDao {
            
            public void createAdmin(Admin admin) throws SQLException;
            
            public List getAllAdmin()throws SQLException;
            
            public Admin getAdmin(int adminID)throws SQLException;
            
            public void updateAdmin(Admin admin)throws SQLException;
            
            public void deleteAdmin (int adminID)throws SQLException;
        }
    
  • edited October 2014 Registered Users

    AdminDaoImpl.java

        package com.ydp.dao;
        
        import com.ydp.encapsulation.Admin;
        import java.sql.Connection;
        import java.sql.PreparedStatement;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.sql.Statement;
        import java.util.ArrayList;
        import java.util.List;
        import java.util.logging.Level;
        import java.util.logging.Logger;
        import javax.naming.Context;
        import javax.naming.InitialContext;
        import javax.naming.NamingException;
        import javax.sql.DataSource;
        
        public class AdminDaoImpl implements AdminDao {
        
            private Connection con;
            private PreparedStatement psm;
            private ResultSet rs;
            private List admins = new ArrayList<>();
        
            public AdminDaoImpl() {
            }
        
            @Override
            public void createAdmin(Admin admin) throws SQLException {
        
                try {
                    con = getAdminDS().getConnection();
                } catch (NamingException ex) {
                    Logger.getLogger(AdminDaoImpl.class.getName()).log(Level.SEVERE, null, ex);
                }
               
                
                String insert = "INSERT INTO ADMIN(NAME,PASSWORD,GMAIL)VALUES(?,?,?)";
                psm = con.prepareStatement(insert);
                psm.setString(2, admin.getName());
                psm.setString(3, admin.getPassword());
                psm.setString(4, admin.getGmail());
                psm.executeUpdate();
                con.close();
            }
        
            @Override
            public List getAllAdmin() throws SQLException {
                String findAll = "SELECT * FROM ADMIN";
                psm = con.prepareStatement(findAll);
                rs = psm.executeQuery();
                while (rs.next()) {
                    Admin admin = new Admin();
                    admin.setAdminID(rs.getInt("ADMIN_ID"));
                    admin.setName(rs.getString("NAME"));
                    admin.setPassword(rs.getString("PASSWROD"));
                    admin.setGmail(rs.getString("GMAIL"));
                    admins.add(admin);
                }
                return admins;
            }
        
            @Override
            public Admin getAdmin(int adminID) throws SQLException {
                String findByID = "SELECT * FROM ADMIN WHERE ADMIN_ID=?";
                psm = con.prepareStatement(findByID);
                rs = psm.executeQuery();
                Admin admin = new Admin();
                while (rs.next()) {
                    admin.setAdminID(rs.getInt("ADMIN_ID"));
                    admin.setName(rs.getString("NAME"));
                    admin.setPassword(rs.getString("PASSWROD"));
                    admin.setGmail(rs.getString("GMAIL"));
                }
                return admin;
            }
        
            @Override
            public void updateAdmin(Admin admin) throws SQLException {
                String update = "UPDATE ADMIN SET NAME=? WHERE ADMIN_ID=?";
                psm = con.prepareStatement(update);
                psm.setString(1, admin.getName());
                psm.setInt(2, admin.getAdminID());
                psm.executeUpdate();
                con.close();
            }
        
            @Override
            public void deleteAdmin(int adminID) throws SQLException {
                String delete = "DELETE FROM ADMIN WHERE ADMIN_ID=?";
                psm = con.prepareStatement(delete);
                psm.setInt(1, adminID);
                psm.executeUpdate();
                con.close();
            }
        
            private DataSource getAdminDS() throws NamingException {
                Context c = new InitialContext();
                return (DataSource) c.lookup("java:comp/env/adminDS");
            }
        
        }
     
  • edited October 2014 Registered Users

    AdminRegister.jsp

        <%@page contentType="text/html" pageEncoding="UTF-8"%>
        <!DOCTYPE html>
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title> Admin | Register </title>
                <link href="css/bootstrap-responsive.css" rel="stylesheet" type="text/css"/>
                <link href="css/bootstrap.css" rel="stylesheet" type="text/css"/>
                <script language="javascript">
                    function validateForm()
                    {
        
                        var n = document.forms["formregister"]["txtname"].value;
                        if (n == null || n == "")
                        {
                            alert("please Enter Admin Name ");
                            return false;
                        }
                        var pa = document.forms["formregister"]["txtpassword"].value;
                        if (pa == null || pa == "")
                        {
                            alert("please Enter Password");
                            return false;
                        }
                        var e = document.forms["formregister"]["txtgmail"].value;
                        if (e == null || e == "")
                        {
                            alert("please Enter Gmail");
                            return false;
                        } else {
                            var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
                            if (e.match(mailformat))
                            {
                                document.RForm.Email.focus();
                                //return true;
                            }
                            else
                            {
                                alert("please Enter Correct Gmail");
                                document.RForm.Email.focus();
                                return false;
                            }
                        }
        
                    }
                </script>
            </head>
            <body>  
                <br/>
                <div class="container">
                    <div class="row">
                        <div class="span5 offset3 well">
                            <legend>Admin Register လုပ္ရန္</legend>
        
                            <form name="formregister" method="POST" action="AdminRegisterServlet" accept-charset="UTF-8" onSubmit="return validateForm();">
                                <table>
                                    <tr>
                                        <td width="35%"><label>Admin Name:</label></td>
                                        <td><input type="text" name="txtname"/></td>
                                    </tr>
        
                                    <tr>
                                        <td width="35%"><label>Password:</label></td>
                                        <td><input type="password" name="txtpassword" ></td>
                                    </tr>
        
                                    <tr>
                                        <td width="35%"><label>Gmail:</label></td>
                                        <td><input type="text" name="txtgmail" /></td>
                                    </tr>
        
                                    <tr>
                                        <td width="35%"></td>
                                        <td><button type="submit" class="btn btn-success " name="btnsubmit" value="Submit" >Register !</button></td>
                                    </tr>
                                </table>
                            </form>
        
                        </div>
                    </div>
                </div>
        
            </body>  
        </html>
    
  • edited October 2014 Registered Users

    AdminRegisterServlet

        package com.ydp.servlet;
        
        import com.ydp.dao.AdminDao;
        import com.ydp.dao.AdminDaoImpl;
        import com.ydp.encapsulation.Admin;
        import java.io.IOException;
        import java.sql.Connection;
        import java.sql.PreparedStatement;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.util.logging.Level;
        import java.util.logging.Logger;
        import javax.annotation.Resource;
        import javax.servlet.ServletException;
        import javax.servlet.annotation.WebServlet;
        import javax.servlet.http.HttpServlet;
        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.http.HttpServletResponse;
        import javax.sql.DataSource;
        
        @WebServlet(name = "AdminRegisterServlet", urlPatterns = {"/AdminRegisterServlet"})
        public class AdminRegisterServlet extends HttpServlet {
        
            @Resource(name = "adminRegisterDS")
            private DataSource adminRegisterDS;
            private Connection conn;
            private PreparedStatement psm;
            private ResultSet rs;
        
            @Override
            protected void doPost(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {
                response.setContentType("text/html;charset=UTF-8");
        
                Integer id = Integer.parseInt(request.getParameter("txtid"));
                String n = request.getParameter("txtname");
                String p = request.getParameter("txtpassword");
                String g = request.getParameter("txtgmail");
                
                Admin ad = new Admin(1, n, p, g);
                AdminDao adm = new AdminDaoImpl();
                try {
                    adm.createAdmin(ad);
                } catch (SQLException ex) {
                    Logger.getLogger(AdminRegisterServlet.class.getName()).log(Level.SEVERE, null, ex);
                }
     
            }
       
        
        }
    
  • edited October 2014 Registered Users

    Admin.java

    package com.ydp.encapsulation;
    
    import java.io.Serializable;
    import java.util.Objects;
    
    public class Admin implements Serializable{
        private Integer adminID;
        private String name;
        private String password;
        private String gmail;
    
        public Admin() {
        }
    
        public Admin(Integer adminID, String name, String password, String gmail) {
            this.adminID = adminID;
            this.name = name;
            this.password = password;
            this.gmail = gmail;
        }
    
        public Integer getAdminID() {
            return adminID;
        }
    
        public String getName() {
            return name;
        }
    
        public String getPassword() {
            return password;
        }
    
        public String getGmail() {
            return gmail;
        }
    
        public void setAdminID(Integer adminID) {
            this.adminID = adminID;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public void setGmail(String gmail) {
            this.gmail = gmail;
        }
    
        @Override
        public int hashCode() {
            int hash = 3;
            hash = 29 * hash + Objects.hashCode(this.adminID);
            hash = 29 * hash + Objects.hashCode(this.name);
            hash = 29 * hash + Objects.hashCode(this.password);
            hash = 29 * hash + Objects.hashCode(this.gmail);
            return hash;
        }
    
        @Override
        public boolean equals(Object obj) {
            if (obj == null) {
                return false;
            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            final Admin other = (Admin) obj;
            if (!Objects.equals(this.adminID, other.adminID)) {
                return false;
            }
            if (!Objects.equals(this.name, other.name)) {
                return false;
            }
            if (!Objects.equals(this.password, other.password)) {
                return false;
            }
            if (!Objects.equals(this.gmail, other.gmail)) {
                return false;
            }
            return true;
        }
    
        @Override
        public String toString() {
            return "Admin{" + "adminID=" + adminID + ", name=" + name + ", password=" + password + ", gmail=" + gmail + '}';
        }
        
    }
    
  • Registered Users

    User ကနေ ID မတောင်းပဲ နောက်ကွယ်မှာ auto ID တိုးသွားအောင် လုပ်ချင်လို့ ကယ်ကြပါဦး ရှာလို့မရတော့ဘူး :-O

  • Administrators

    @pyaephyolin‌ ဘယ်အချိန်မှာ auto ID တိုးချင်တာလဲ ?

  • edited October 2014 Administrators

    create လုပ်တဲ့ နေရာမှာ တိုးချင်ရင်တော့

    sql ကို ပြင်ရမယ်။

    CREATE TABLE ADMIN(
    ADMIN_ID INTEGER NOT NULL PRIMARY KEY,
    

    အဲမှာ auto increment ထည့်ဖို့လိုလိမ့်မယ်။

    နောက်ပြီးတော့ Admin ကို create လုပ်တဲ့ အခါမှာ

    String insert = "INSERT INTO ADMIN(NAME,PASSWORD,GMAIL)VALUES(?,?,?)";
            psm = con.prepareStatement(insert);
            psm.setString(2, admin.getName());
            psm.setString(3, admin.getPassword());
            psm.setString(4, admin.getGmail());
            psm.executeUpdate();
            con.close();
    

    sql မှာ auto increment လည်း မပေးထား သလို ID လည်း မပါသွားဘူး။ အဲဒီ အခါမှာ Error မတက်ဘူးလား ?

  • Registered Users

    Error တွေ တတ်နေတယ် Admin register လုပ်တဲ့အခါ တယောက် register လုပ်ရင် ID တခုတိုးစေချင်တာ .....

  • edited October 2014 Administrators

    SQL က create table လုပ်ထားတာ ကို ပြင်လိုက်ရင် ရပြီ မဟုတ်ဘူးလား ?

    Database က Apache Derby သုံးထားတာ မဟုတ်လား ?

    Insert လုပ်တဲ့ အခါမှာ Error တက်လိမ့်မယ်။ data က အရေးမကြီးရင် database ကို ပြန်ဖျက်ပြီးတော့ auto increment လုပ်လိုက်။

    CREATE TABLE ADMIN(
    ADMIN_ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
    

    တကယ်လို့ အရေးကြီးရင်တော့ Alter နဲ့ ပြန်ပြင်ကြည့်

    ALTER TABLE ADMIN 
    ALTER ADMIN_ID INTEGER NOT NULL 
    GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1);
    
Sign In or Register to comment.