단순 코드 기록/Node

Node_99번 부서 중복insert/update/delete/Table

일일일코_장민기 2024. 3. 25. 15:52
728x90
async function getInsert(req, res){
    oracledb.autoCommit = true;             //기본 false
    let connection;
    try {
        connection = oracledb.getConnection({
            user: dbconfig.user,            //DB 아이디
            password: dbconfig.password,    //DB 비밀번호
            connectString: dbconfig.xid,    //localhost: 1521/xe
        })

        const result = (await connection).execute("insert into dept(deptno, dname, loc) values (:deptno, :dname, :loc)", [99, "개발", "제주"],
            function(error, result){
                console.log("실행됨");
                if(error){
                    console.log(error);
                    res.send("중복된 부서입니다");
                }
                console.log(result);            //{ lastRowid: '로우키', rowsAffected: 입력된 행 수}
                if(result.rowsAffected == 1){
                    res.send("추가완료");
                }
            }
        );  
    } catch (error) {
        console.log(error);
    } finally {
        if(connection){
            try {
                (await connection).close;
            } catch(error){
                console.log("error: ", error);
            }
        }
    }
}

 

 

app.get("/update", function(req, res){
    getUpdate(req, res);
})
async function getUpdate(req, res){
    oracledb.autoCommit = true;             //기본 false
    let connection;
    try {
        connection = oracledb.getConnection({
            user: dbconfig.user,            //DB 아이디
            password: dbconfig.password,    //DB 비밀번호
            connectString: dbconfig.xid,    //localhost: 1521/xe
        })

        const result = (await connection).execute("Update dept set dname = :dname, loc = :loc where deptno = :dNum", ["영업", "서울", 99],
            function(error, result){
                console.log("실행됨");
                if(error){
                    console.log(error);
                }
                console.log(result);            //{ lastRowid: '로우키', rowsAffected: 입력된 행 수}
                res.send("변경완료");
               
            }
        );  
    } catch (error) {
        console.log(error);
    } finally {
        if(connection){
            try {
                (await connection).close;
            } catch(error){
                console.log("error: ", error);
            }
        }
    }
}

 

 

 

 

 

 

 

 

app.get("/delete", function(req, res){
    getDelete(req, res);
})
async function getDelete(req, res){
    oracledb.autoCommit = true;             //기본 false
    let connection;
    try {
        connection = oracledb.getConnection({
            user: dbconfig.user,            //DB 아이디
            password: dbconfig.password,    //DB 비밀번호
            connectString: dbconfig.xid,    //localhost: 1521/xe
        })

        const result = (await connection).execute("Delete from dept where deptno = :num", [99],
            function(error, result){
                console.log("실행됨");
                if(error){
                    console.log(error);
                }
                console.log(result);            //{ lastRowid: '로우키', rowsAffected: 입력된 행 수}
                res.send("삭제완료");
               
            }
        );  
    } catch (error) {
        console.log(error);
    } finally {
        if(connection){
            try {
                (await connection).close;
            } catch(error){
                console.log("error: ", error);
            }
        }
    }
}

 

 

 

 

app.get("/table", function(req, res){
    getTable(req, res);
})
async function getTable(req, res){
    let connection;
    try {
        connection = oracledb.getConnection({
            user: dbconfig.user,            //DB 아이디
            password: dbconfig.password,    //DB 비밀번호
            connectString: dbconfig.xid,    //localhost: 1521/xe
        })

        const result = (await connection).execute("select * from dept order by deptno",    //콜백 함수
            function(error, data){
                if(error){
                    console.log(error);
                }
               
                // var dataes = "";    //여기서 선언하면 계단식으로 출력
                var dataesSet = "";  
                for (let index = 0; index < data.rows.length; index++) {
                    var dataes = "";    //여기서 선언해야 테이블로 출력
                        dataes += "<td><a href='/selectOne?deptno="+data.rows[index][0]+"'>"+data.rows[index][0]+"</a></td>"
                                + "<td>"+data.rows[index][1]+"</td>"
                                + "<td>"+data.rows[index][2]+"</td>"
                    dataesSet += "<tr>"+dataes+"</tr>"  
                }
                dataesSet = "<html><body><table border='1'>"+dataesSet+"</table></body></html>";
               
                res.send(dataesSet);                
            });  
    } catch (error) {
        console.log(error);
    } finally {
        if(connection){
            try {
                (await connection).close;
            } catch(error){
                console.log("error: ", error);
            }
        }
    }
}