電子工業出版社 JSHING HOUSE DF 【例15.4】如下图15.4所示,从查询输入界面输入用户名,在Demo数据库的 users 表中查找该用户名的纪录,并在浏览器中显示查询结果如图15.5所示。(基础模块2.1”查 询记录”) 暗模查涌记录之人御 国集④历史·三簪O鄂 输入查询串 请输入您要查询的用户名 顶可重填 厂厂本 图15.4查询关键字 的输入 查询结果 查询结果为 姓名电话 电子邮箱 图605“gm如mm急面, 图15.5查询结果的输出 “查询记录”模块由两段程序代码( query data.htm与 query.asp)组成 query data.htm是査询关键字输入的界面; query.asp是从Demo数据库中查询符合关键字 的记录。可在 Frontpage中调用【例15.2】的“数据输入”模块,制作成 query data.hm 的输入界面 query data.htm>源程序: 基础模块“查询记录”之“输入査询串
【例 15.4】如下图 15.4 所示,从查询输入界面输入用户名,在 Demo 数据库的 users 表中查找该用户名的纪录,并在浏览器中显示查询结果如图 15.5 所示。(基础模块 2. 1”查 询记录”) 图 15.4 查询关键字 的输入 图 15.5 查询结果的输出 “查询记录”模块由两段程序代码(query_data.htm 与 query.asp)组成。 query_data.htm 是查询关键字输入的界面;query.asp 是从 Demo 数据库中查询符合关键字 的记录。可在 Frontpage 中调用【例 15.2】的“数据输入”模块,制作成 query_data.htm 的输入界面。 源程序: 基础模块“查询记录”之“输入查询串
電子工業出版社 JEUISHING HOUSE DF ELECTRONCS INDSTR 输入查询串/hl 请输入您要查询的用户名: Query.asp程序流程如下图15.6所示: 接受表单输入数据 建立一个到数据源的连结 建立记录集,存放查询结果 图156@uery.asp程序流程图 从程序流程图中可以看出,程序段“建立一个到数据源的连结”即【例15.3】的模块 只要检查相应的参数,如: server=”127.0.0.1;uid=chen;pwd=123; database=Demo”,把IP uid、pwd、 database的值改为当前题目的参数值就可以直接引用 源程序 < Option Explicit % 接受表单输入的数据 rName userName=Request Form(txtUserName") 建立一个到数据源的连接 Dim strdsN con strDSN="Provider=MSDASQL: DRIVER=SQL Serverl: SERVER=127 0.0.1: DATABASE=Demo: UID=chen: PWD=123 Set conn Demo = Server CreateObject("ADODB Connection") connDemo. Open strDSN
输入查询串 请输入您要查询的用户名: 用户名: Query.asp 程序流程如下图 15.6 所示: 图 15.6 Query.asp程序流程图 从程序流程图中可以看出,程序段“建立一个到数据源的连结”即【例15.3】的模块, 只要检查相应的参数,如:server=”127.0.0.1;uid=chen;pwd=123;database=Demo”,把IP、 uid、pwd、database的值改为当前题目的参数值就可以直接引用。 源程序: <% '接受表单输入的数据 Dim userName userName=Request.Form("txtUserName") '建立一个到数据源的连接 Dim strDSN Dim connDemo strDSN="Provider=MSDASQL;DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=Demo;UID=chen;PWD=123" Set connDemo = Server.CreateObject("ADODB.Connection") connDemo.Open strDSN
電子工業出版社 JEUISHING HOUSE DF ELECTRONCS INDSTR 建立记录集,存放查询结果 Dim rsusers Dim strSqlselectUsers Set rsUsers= Server CreateObject("ADODB. Recordset") strSqlselectUsers=" SELECt FROM users WHERE username LIKe%& userName &% rsUsers. Open strSqlselectUsers, connDemo metahttp-equiv=content-typecontent=text/html:charset=gb2312 基础模块“查询记录”之“查询结果” 查询结果 查询结果为: 姓名电话 电子邮箱 Do While not rsusers eof /td> /td>
'建立记录集,存放查询结果 Dim rsUsers Dim strSqlSelectUsers Set rsUsers = Server.CreateObject("ADODB.Recordset") strSqlSelectUsers="SELECT * FROM users WHERE username LIKE '%" & userName & "%'" rsUsers.Open strSqlSelectUsers, connDemo %> 基础模块“查询记录”之“查询结果” 查询结果 查询结果为: 姓名 电话 电子邮箱 <%
電子工業出版社 JEUISHING HOUSE DF ELECTRONCS INDSTR 以上模块中,通过使用一个循环来扫描记录集中中的每一条纪录,把每个纪录的 userName、 password、 email、 phone、 userResume字段值显示输出到浏览器 当把查询结果保存到一个记录集对象中时,当前记录总是第一条纪录(如果查询结果不 为空,那么此时BOF和EOF都是 false).在上面的例子中,调用了记录集对象的 MoveNext方法, 使当前记录移到下一条纪录。当所有的记录都显示完时,当前记录移到记录集中最后一条记 录之后,使得记录集对象的EOF属性的值变成TRUE,从而退出 Do while..Loop循环,结束 这次显示输出
rsUsers.MoveNext Loop End If %> 以上模块中,通过使用一个循环来扫描记录集中中的每一条纪录,把每个纪录的 userName、password、email、phone、userResume字段值显示输出到浏览器。 当把查询结果保存到一个记录集对象中时,当前记录总是第一条纪录(如果查询结果不 为空,那么此时BOF和EOF都是false).在上面的例子中,调用了记录集对象的MoveNext方法, 使当前记录移到下一条纪录。当所有的记录都显示完时,当前记录移到记录集中最后一条记 录之后,使得记录集对象的EOF属性的值变成TRUE,从而退出Do while ……Loop循环,结束 这次显示输出