本节课我们来对前三节课的内容进行小结,对前三节课所讲知识进行综合性的运用。
以一个具体操作实例为基础进行讲解:通过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方式,这种方式在数据提交过程中相对来说会更加安全。
添加操作
前端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
最新回复