本节课我们来对前三节课的内容进行小结,对前三节课所讲知识进行综合性的运用。
以一个具体操作实例为基础进行讲解:通过WEB页面,运用GET及POST方式查询人员信息,然后添加和删除人员信息。

查询操作

前端WEB代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>查询人员信息</title>
        <style type="text/css">
        table{
            /*border:1px solid ;*/
            border-collapse: collapse;
            border-spacing: 0;
            width:350px;
            
        }
        th{
            background-color: #009688;
            color:#FFFFFF;
            border:1px solid #DDDDDD;
             padding: 5px;
        }
        td {
            border:1px solid #DDDDDD;
            text-align: center;
            padding: 5px;
        }
        </style>
    </head>
    <body>
        <form action="ctl_ryxx.fsp" name="ryxxcx" method="get">
            <input type="text" name="username" value="<%=U(searchkey)%>">
            <input type="submit" value="查询">
        </form>
        <table>
            <th>序号</th><th>编号</th><th>姓名</th>
            <%if reccount()<1%>
            <tr><td colspan="3">未查询到相关信息</td></tr>
            <%else%>
                <%scan%>
                <tr><td><%=U(id)%></td><td><%=U(bh)%></td><td><%=U(xm)%></td></tr>
                <%endscan%>
            <%endif%>
        </table>
    </body>
</html>

后端代码

DEFINE CLASS ctl_ryxx as Session
    PROCEDURE onDefault
        PRIVATE searchkey
        searchkey=HttpQueryParams("username")
        ofrmMain.log(searchkey)
            SELECT id,老师编号 as bh,老师姓名 as xm FROM 教师 WHERE searchkey$老师姓名 INTO CURSOR tmp
             ?cursortojson("tmp")
        lcGetHtml=getWwwRootPath("tpl")+"ryxx.html"
        lcSendHtml=FWS_MergeFile(lcGetHtml)
        _currentcode="UTF-8"
        ofrmMain.log(cursortojson("tmp"))
            SELECT tmp
            USE 
        RETURN lcSendHtml
    ENDPROC 

ENDDEFINE 

查询界面图

查询前界面

查询前界面

查询无信息界面

查询无信息界面

模糊查询界面

查询无信息界面

精确查询界面

查询无信息界面
此时我们可以看到,在浏览器地址栏内出现了我们要查询的信息关键字,这其实就是使用的get方式。如果使用post方式呢?我们只需要把前端代码稍微改动一下就可以实现了。
将下面这行代码

替换成下面这行代码

我们再来看看页面有怎样的变化
查询界面post
我们可以看到,地址栏后面的尾巴不见了。这就是POST方式,这种方式在数据提交过程中相对来说会更加安全。


添加操作

前端WEB代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>人员信息编辑</title>
        <style type="text/css">
        table{
            /*border:1px solid ;*/
            border-collapse: collapse;
            border-spacing: 0;
            width:350px;
            
        }
        th{
            background-color: #009688;
            color:#FFFFFF;
            border:1px solid #DDDDDD;
             padding: 5px;
        }
        td {
            border:1px solid #DDDDDD;
            text-align: center;
            padding: 5px;
        }
        </style>
    </head>
    <body>
        <form action="ctl_ryxx_edit.fsp" name="ryxxedit" method="post">
            <input type="text" name="userno" value="<%=U(cuserno)%>">
            <input type="text" name="username" value="<%=U(cusername)%>">
            <input type="submit" value="添加">
            <input type="reset" value="重置">
        </form>
        <table>
            <th>序号</th><th>编号</th><th>姓名</th>
            <%if ncount=9%>
                <tr><td colspan="3">所添加的的信息不能为空。</td></tr>
            <%else%>
            <%if ncount=1%>
                <tr><td colspan="3">该信息已存在,请勿重复添加信息。</td></tr>
            <%else%>
            <%scan%>
                <tr><td><%=U(id)%></td><td><%=U(bh)%></td><td><%=U(xm)%></td></tr>
            <%endscan%>
            <%endif%>
            <%endif%>
        </table>
    </body>
</html>

后端代码

DEFINE CLASS ctl_ryxx_edit as Session
    PROCEDURE onDefault
    PRIVATE cUserno,cUsername,nCount
    cUserno=HttpQueryParams("userno")
    cUsername=HttpQueryParams("username")
    ?cUserno,cUsername
    ofrmMain.log(cUserno+cUsername)
    IF LEN(ALLTRIM(cUserno))=0 OR LEN(ALLTRIM(cUsername))=0
        nCount=9
        lcTplHtml=GetWwwRootPath("tpl")+"ryxx_edit.html"
        lcHtml=FWS_MergeFile(lcTplHtml)
        _currentcode="UTF-8"
        RETURN lcHtml
    ELSE
        SELECT id,老师编号 as bh,老师姓名 as xm FROM 教师 WHERE 教师.老师编号==cUserno AND  教师.老师姓名==cUsername INTO CURSOR tmp
        SELECT tmp
        nCount=RECCOUNT()
        ?nCount
        IF nCount>0
            nCount=1
            SELECT tmp 
            lcTplHtml=GetWwwRootPath("tpl")+"ryxx_edit.html"
            lcHtml=FWS_MergeFile(lcTplHtml)
            _currentcode="UTF-8"
            SELECT tmp
            USE 
            RETURN lcHtml
        ELSE
            nCount=0
            INSERT INTO 教师 (老师编号,老师姓名) VALUES (cUserno,cUsername)
            SELECT id,老师编号 as bh,老师姓名 as xm FROM 教师 INTO CURSOR tmp2
            
            ?cursortojson("tmp2")
            lcTplHtml=GetWwwRootPath("tpl")+"ryxx_edit.html"
            lcHtml=FWS_MergeFile(lcTplHtml)
            _currentcode="UTF-8"
            SELECT tmp2
            USE 
            RETURN lcHtml
        ENDIF 
ENDDEFINE 

添加界面图

无数据提交提示信息图
添加界面图
重复提交提示信息图
添加界面图
成功提交提示信息图
添加界面图


删除操作

前端代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>人员信息删除</title>
        <style type="text/css">
        table{
            /*border:1px solid ;*/
            border-collapse: collapse;
            border-spacing: 0;
            width:350px;
            
        }
        th{
            background-color: #009688;
            color:#FFFFFF;
            border:1px solid #DDDDDD;
             padding: 5px;
        }
        td {
            border:1px solid #DDDDDD;
            text-align: center;
            padding: 5px;
        }
        </style>
    </head>
    <body>
        <table>
            <th>序号</th><th>编号</th><th>姓名</th><th>操作</th>
            <%if reccount()<1%>
            <tr><td colspan="4">暂无相关信息</td></tr>
            <%else%>
                <%scan%>
                <tr><td><%=U(id)%></td><td><%=U(bh)%></td><td><%=U(xm)%></td><td><a href="ctl_ryxx_del.fsp?proc=ryxx_del&id=<%=U(id)%>">删除</a></td></tr>
                <%endscan%>
            <%endif%>
        </table>
    </body>
</html>

后端代码

DEFINE CLASS ctl_ryxx_del as Session
    PROCEDURE onDefault
        SELECT id as id,老师编号 as bh,老师姓名 as xm FROM 教师 INTO CURSOR tmp
        lcGetHtml=getWwwRootPath("tpl")+"ryxx_del.html"
        lcSendHtml=FWS_MergeFile(lcGetHtml)
        _currentcode="UTF-8"

            SELECT tmp
            USE 
        RETURN lcSendHtml
    ENDPROC
    
    PROCEDURE ryxx_del
        cUserid=HttpQueryParams("id")
        IF !USED("tea")
            SELECT 0
            USE 教师 ALIAS tea EXCLUSIVE
            SELECT tea
        ELSE
            SELECT tea
        ENDIF
        DELETE FOR id=VAL(cUserid)
        PACK
        SELECT tea
        USE 
        SELECT id as id,老师编号 as bh,老师姓名 as xm FROM 教师 INTO CURSOR tmp
        lcGetHtml=getWwwRootPath("tpl")+"ryxx_del.html"
        lcSendHtml=FWS_MergeFile(lcGetHtml)
        _currentcode="UTF-8"

        SELECT tmp
        USE 
        RETURN lcSendHtml
    ENDPROC 
ENDDEFINE 

删除前界面

删除前界面图

删除后界面

删除后界面图

发表评论