|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP脚本是采用明文(plaintext)方式来编写的。静态|前提当用ASP与SQLServer数据库打交道时,查询语句是必不成少的。SQLServer数据库自己供应了丰厚的查询语句,可是怎样在ASP中完成对SQLServer数据库的多前提静态查询呢?笔者在用ASP开辟一个基于SQLServer的网站时,较好地办理了这一成绩,本文先容个中的完成办法。
数据库的界说
在SQLServer中界说一个数据库,称号为“comm_server”。在该数据库中界说一个表,表名为“operator”,包括以下表所示字段(仅以程序顶用到的5个字段为例):
字段称号备注
Name姓名Varchar(20),界说为主键
Educationallever学历Varchar(10)
Grade职称Varchar(10)
State如今情况Varchar(10)
Time纪录工夫datetime
输出网页的计划
在index_people.htm网页中界说一个form,个中用到的尺度用户界面元素以下:
姓名:学历:选择职称:选择如今情况:选择
TML程序代码以下:
〈!--form的办法设置为post,表单提交后由people_seek.asp程序举行处置--〉
〈formmethod=“post”action=“people_seek.asp”〉
〈pre〉
〈fontsize=“2”〉姓名:〈/font〉
〈inputtype=“text”name=“txt_name”size=“10”〉
〈fontsize=“2”〉学历:
〈selectname=“sel_xueli”〉
〈optionvalue=“选择”〉选择〈/option〉
〈optionvalue=“中专”〉中专〈/option〉
〈optionvalue=“年夜专”〉年夜专〈/option〉
〈optionvalue=“本科”〉本科〈/option〉
〈optionvalue=“硕士”〉硕士〈/option〉
〈optionvalue=“博士”〉博士〈/option〉
〈optionvalue=“博士后”〉博士后〈/option〉
〈/select〉
职称:
〈selectname=“sel_zhicheng”〉
〈optionvalue=“选择”〉选择〈/option〉
〈optionvalue=“助工”〉助工〈/option〉
〈optionvalue=“工程师”〉工程师〈/option〉
〈optionvalue=“初级工程师”〉初级工程师〈/option〉
〈/select〉
如今情况:
〈selectname=“sel_zhuangkuang”〉
〈optionvalue=“选择”〉选择〈/option〉
〈optionvalue=“在位”〉在位〈/option〉
〈optionvalue=“休假”〉休假〈/option〉
〈optionvalue=“出差”〉出差〈/option〉
〈/select〉
〈inputtype=“submit”name=“btn_seek”value=“搜刮”〉
〈inputtype=“reset”name=“btn_cancel”value=“作废”〉
〈inputtype=“submit”name=“btn_browse”value=“扫瞄”〉
〈/font〉〈/pre〉
〈/form〉
多前提静态查询的完成
people_seek.asp程序代码以下:
〈!--界说以下两个函数,经由过程ADO毗连SQLServer数据库--〉
〈%
FunctionGetSQLServerConnection(Computer,UserID,Password,Db)
DimParams,conn
SetGetSQLServerConnection=Nothing
Params=“Provider=SQLOLEDB.1”
Params=Params&“;DataSource=”&Computer
Params=Params&“;UserID=”&UserID
Params=Params&“;Password=”&Password
Params=Params&“;InitialCatalog=”&Db
Setconn=Server.CreateObject
(“ADODB.Connection”)
conn.OpenParams
SetGetSQLServerConnection=conn
EndFunction
FunctionGetSQLServerStaticRecordset(conn,source)
Dimrs
Setrs=Server.CreateObject(“ADODB.Recordset”)
rs.Opensource,conn,3,2
SetGetSQLServerStaticRecordset=rs
EndFunction
%〉
〈HTML〉〈BODYbgcolor=“#FFFFFF”〉
以下是对form表单的处置:
〈!--假如在form中点击“搜刮”按钮--〉
〈%
ifRequest(“btn_seek”)〈〉Emptythen
〈!--取得查询者输出信息--〉
seek_name=Trim(Request(“txt_name”))
seek_xueli=Trim(Request(“sel_xueli”))
seek_zhicheng=Trim(Request(“sel_zhicheng”))
seek_zhuangkuang=Trim(Request
(“sel_zhuangkuang”))
〈!--假如查询者甚么都没有输出--〉
if((seek_name=“”)and(seek_xueli=“选择”)
and(seek_zhicheng=“选择”)and
(seek_zhuangkuang=“选择”))then%〉
〈center〉〈h2〉〈fontcolor=“#FF0033”〉
〈%Response.Write“您没有输出查询前提!”%〉〈BR〉〈BR〉
〈%Response.Write“请输出前提后查询!!!”%〉〈BR〉〈BR〉
〈/font〉〈/h2〉
〈inputtype=“button”name=“btn_goback”value=“前往”onclick=“javascript:history.go(-1)”〉
〈/center〉
〈%Response.End%〉
〈%endif
〈!--界说要查询的SQL语句--〉
sql_text=“select*fromoperatorwhere”
〈!--检察是不是输出了人名--〉
ifseek_name=“”then
〈!--假如没有输出人名--〉
sql_text=sql_text
else〈!--假如输出了人名--〉
sql_name=“name=‘“&seek_name&”’”
sql_text=sql_text+sql_name
endif
〈!--检察是不是选择了学历--〉
ifseek_xueli=“选择”then
〈!--假如没有选择学历--〉
sql_text=sql_text
else〈!--假如选择了学历--〉
if(seek_name〈〉“”)then
〈!--在后面输出了要查询的人名--〉
sql_xueli=“and“+”educationallever=‘“&seek_xueli&”’”
else
sql_xueli=“educationallever=‘“&
seek_xueli&”’”
endif
sql_text=sql_text+sql_xueli
endif
〈!--检察是不是选择了职称--〉
ifseek_zhicheng=“选择"then
〈!--假如没有选择职称--〉
sql_text=sql_text
else〈!--假如选择了职称--〉
if((seek_name〈〉“”)or(seek_xueli〈〉“选择”))then
〈!--在后面输出了人名或选择了学历--〉
sql_zhicheng=“and“+”grade=‘“&seek_zhicheng&”’”
else〈!--仅选择了职称--〉
sql_zhicheng=“grade=‘“&
seek_zhicheng&”’”
endif
sql_text=sql_text+sql_zhicheng
endif
〈!--检察是不是选择了如今情况--〉
ifseek_zhuangkuang=“选择”then
〈!--假如没有选择如今情况--〉
sql_text=sql_text
else〈!--选择了如今情况--〉
if((seek_name〈〉“”)or(seek_xueli〈〉“选择”)or(seek_zhicheng〈〉“选择”))then
〈!--在后面输出了人名或选择了学历或选择了职称--〉
sql_zhuangkuang=“and“+”state=‘“&seek_zhuangkuang&”’”
else〈!--仅选择了如今情况--〉
sql_zhuangkuang=“state=‘“&
seek_zhuangkuang&”’”
endif
sql_text=sql_text+sql_zhuangkuang
endif
〈!--按纪录工夫倒序显现--〉
sql_text=sql_text+“orderbytimedesc”
else〈!--假如在form中点击“扫瞄”按钮--〉
sql_text=“select*fromoperatororderbytimedesc”
endif
Myself=Request.ServerVariables(“PATH_INFO”)
〈!--毗连SQLServe数据库,呆板名为“comm_server”,数据库称号为“comm_server”,以“sa”的身份会见,暗码为空--〉
Setrs=GetSQLServerStaticRecordset(GetSQLServerConnection(“comm_server”,“</p>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。 |
|