ASP网页设计实行Recordset.Movenext,Recordset.Pre...
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。我在实行Recordset.Movenext,Recordset.Previous,Recorset.......等挪动纪录的时分碰到了坚苦.我用Access做背景数据库,经由过程一个查询前提查询得一个纪录集,我想用一个表格完成纪录的逐条扫瞄(不是一组纪录分页扫瞄).即"共查到**笔记录,如今是第*条",单击"Next"按钮后下一笔记录的内容显现在表格中.....
我用以下代码完成(见最初)
发明若将Rst.Open"select*from某表where从某个Form猎取的查询前提"
改成Rst.Open"select*from某表"(相称于不做查询举措)后,纪录的扫瞄功效才得以完成.
不然老是呈现"EOF或BOF为真"的毛病提醒.可我明显能够从"某表"中"select...where..."到好几个纪录的!
总之怎样将"纪录的逐条扫瞄"和"select*from某表where从某个Form猎取的查询前提"分离起来?
看予以指导为感!
杨利
2000/4/13
程序代码:
<%@LANGUAGE=VBScript%>
<!--#Includefile="ADOVBS.INC"-->
<html>
<head>
<title></title>
</head>
<bodyBGCOLOR="#FFFFF0">
<h3align="center"><fontface="隶书"color="#004080"><big>如今您能够编纂以下纪录</big></font></h3>
<!--在服务器上创立Connection和Recordset工具-->
<%
创立并翻开Connection工具。
Setcn=Server.CreateObject("ADODB.Connection")
cn.Open"DSN=数据库名"
创立并翻开Recordset工具。
SetRst=Server.CreateObject("ADODB.Recordset")
Rst.ActiveConnection=cn
Rst.CursorType=adOpenKeyset
Rst.LockType=adLockOptimistic
Rst.Open"select*from某表where性别="&request.form("t1")&""(实行这句年夜有成绩)
Rst.Open"select*from某表where性别=男"(实行这句有点成绩)
Rst.Open"select*fromhr_base"(实行这句没有成绩)
反省Request.Form汇合以检察所纪录的任何挪动。
IfNotIsEmpty(Request.Form("MoveAmount"))Then
跟踪该会话的挪动数量和偏向。
Session("Moves")=Session("Moves")+Request.Form("MoveAmount")
Clicks=Session("Moves")
挪动到上一个已知地位。
Rst.MoveCInt(Clicks)
反省挪动为+仍是-并举行毛病反省。
IfCInt(Request.Form("MoveAmount"))=1Then
IfRst.EOFThen
Session("Moves")=Rst.RecordCount
Rst.MoveLast
EndIf
Rst.MoveNext
EndIf
IfRequest.Form("MoveAmount")<1Then
Rst.MovePrevious
EndIf
反省有没有单击FirstRecord或LastRecord命令按钮。
IfRequest.Form("MoveLast")=3Then
Rst.MoveLast
Session("Moves")=Rst.RecordCount
EndIf
IfRequest.Form("MoveFirst")=2Then
Rst.MoveFirst
Session("Moves")=1
EndIf
EndIf
对MoveButton单击组合举行毛病反省。
IfRst.EOFThen
Session("Moves")=Rst.RecordCount
Rst.MoveLast
Response.Write"ThisistheLastRecord"
EndIf
IfRst.BOFThen
Session("Moves")=1
Rst.MoveFirst
Response.Write"ThisistheFirstRecord"
EndIf
%>
<!--显现以后纪录数量和纪录集巨细-->
<h3align="center"><fontface="隶书"color="#004080">共查到</font><fontcolor="#600060"><%=Rst.RecordCount%></font><fontface="隶书"color="#004080">笔记录,以后为第</font>
<fontcolor="#600060">
<%
IfIsEmpty(Session("Moves"))Then
Session("Moves")=1
EndIf
%>
<%Response.Write(Session("Moves"))%>
</font><fontface="隶书"color="#004080">笔记录</font></h3>
<hralign="center">
<palign="center"><inputType="button"Name="cmdFirst"Value="第一条"
style="font-family:宋体"><inputType="button"Name="cmdDown"Value="上一条"><input
Type="button"Name="cmdUp"Value="下一条"><inputType="button"Name="cmdLast"
Value="末一条"></p>
<palign="center"><b><fontsize="5"color="#000080"face="隶书">查询了局:</font></b></p>
<table>
(用于逐条显现纪录的表格)
</table>
<!--利用隐含窗体字段将值发送到服务器-->
<formMethod="Post"ActionName="Form">
<inputtype="hidden"name="MoveAmount"value="0"><inputtype="hidden"name="MoveLast"
value="0"><inputtype="hidden"name="MoveFirst"value="0">
</form>
</body>
<scriptLanguage="VBScript">
SubcmdDown_OnClick
在InputBoxes窗体和Submit窗体中设置值。
Document.Form.MoveAmount.Value=-1
Document.Form.Submit
EndSub
SubcmdUp_OnClick
Document.Form.MoveAmount.Value=1
Document.Form.Submit
EndSub
SubcmdFirst_OnClick
Document.Form.MoveFirst.Value=2Document.Form.Submit
EndSub
SubcmdLast_OnClick
Document.Form.MoveLast.Value=3
Document.Form.Submit
EndSub
</script>
</html>由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
页:
[1]