asp数据库学习笔记.docx
- 文档编号:11747404
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:19
- 大小:21.32KB
asp数据库学习笔记.docx
《asp数据库学习笔记.docx》由会员分享,可在线阅读,更多相关《asp数据库学习笔记.docx(19页珍藏版)》请在冰点文库上搜索。
asp数据库学习笔记
编程语言的功能
一、编程语言不外乎就这几种功能
1.读取
2.添加
3.修改
4.删除
5.查询
6.统计
首先我们谈谈数据库:
ASP一般使用ACCESS和SQL数据库
初学者最好先使用ACCESS数据库,装个OFFIEC就已经自带ACCESS数据库了
二、ASP读取数据:
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"select*from表名orderbyiddesc",conn,1,1'orderby用来排序id为排序字段,desc为倒序,asc为顺序,1,1为只读,1,3为可操作
dowhilenotrs.eof'循环开始
response.writers("abc")'显示数据
rs.movenext'循环下一条数据
loop
rs.close'关闭rs记录
setrs=nothing'清除rs记录集
%>
(dowhileloop和以下是相同的功能whilewend
whilenotrs.eof
response.writers("xm")
response.write("
")
response.writers("bm")
rs.movenext
wend
rs.close
setrs=nothing)
(Setrs=Server.CreateObject("ADODB.Recordset"是建立一个数据集,前面应该先定义此数据集。
dimrsasadodb.recordset,然后就可以用
setrs=server.CreateObject("adodb.recordset")
来建立一个数据集的实例,当然此时数据集中是没有数据的
rs.open......
来打开一个记录集
rs.append或者rs.insert来添加记录
rs.edit来修改记录
对于添加或修改的记录,可以用
rs.fields("字段名")=xxx
来进行赋值
rs.update
把更改过的值更新回数据库)
三、ASP添加新数据:
第一种添加方式代码:
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"select*from表名",conn,1,3'这里添加新数据就不需要排序了,1,3上面我们已经说了,是可对数据库操作修改的意思
rs.addnew'开始新数据
rs("字段1")="123456"'将数据添加到字段1
rs("字段2")="123456"'同上()统统都是将后面的赋值给前面的
rs.update'开始向数据库写入
rs.close'关闭rs记录
setrs=nothing'清除rs记录集
%>
这种添加方式适合ACCESS和SQL数据库的任何方式连接
下面这个添加语句只适合ACCESS的第②种连接方式,同时也适合SQL数据库任何方式连接
第二种添加方式代码:
<%
conn.execute"insertinto表名(字段1,字段2)values('123456','123456')"'两个括号中要一一对应,多个内容添加用逗号隔开
%>
上面这段添加语句唯一不支持ACCESS第①种数据库连接方式
四、ASP修改数据:
ASP修改数据多数用在查询指定的数据然后去修改那条数据
第一种修改方式代码:
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"select*from表名whereid=10",conn,1,3'where为查询开始,查询条件为id等于10的那条数据注意此处的where
rs("字段1")="123456"'无论字段1中是什么值,我们都把它改成123456这个值
rs("字段2")="123456"'同上
rs.update'开始向数据库写入
rs.close'关闭rs记录
setrs=nothing'清除rs记录集
%>
<%
conn.execute"update表名set字段1='123456',字段2='123456'whereid=10"'多个内容修改用逗号隔开
%>
上面这段修改代码和上面的添加一样唯一不支持ACCESS第①种数据库连接方式
五、ASP删除数据:
删除数据也用到查询,如果没有查询,那就是将整个表中的所有内容全部删除了,如果你只需要删除其中一条,那就必须使用查询条件
<%
conn.execute"delete表名whereid=10"'查询到id值等于10的那条数据并且删除
%>
如果是ACCESS数据库就要加上from,例如:
<%
conn.execute"deletefrom表名whereid=10"
%>
如果你的数据库连接使用的是ACCESS第②种方式或者使用的是SQL数据,那么添加,修改,删除用起来就很简单了,像下面这样
添加:
conn.execute"insertinto表名(字段1,字段2)values('123456','123456')"
修改:
conn.execute"update表名set字段1='123456',字段2='123456'whereid=10"
删除:
conn.execute"delete表名whereid=10"
记住,在读取,添加,修改,删除,这四个功能之中只有添加不能带有查询条件,其他三个根据自己的需要可以带查询条件
查询条件中的读取,修改,和删除功能
一、查询条件可以多个条件
例如:
conn.execute"deletefrom表名where字段1='123456'and字段2='123456'andid=10"之间用and隔开,and前后一定要空格
意思是这三个条件必须同时满足才能查询出你想要的结果
二、查询条件可以使用or(或者的意思)
例如:
conn.execute"delete表名where字段1='123456'or字段2='123456'orid=10"之间用or隔开,or前后一定要空格
意思是只要查询的条件满足其中之一就能查询出你想要的结果
三、查询条件还可以使用and和or同时使用
例如:
conn.execute"delete表名where(字段1='123456'or字段2='123456')andid=10"
意思是只要查询条件满足字段1或者字段2中的一条,并且id等于10的条件,注意:
括号要括起来
统计使用函数sum,recordcount
统计价格:
sum
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"selectsum(价格字段)aspricefrom表名orderbyiddesc",conn,1,1'as就是将统计出来的结果赋值给临时变量price
response.writers("price")'显示统计出来的总价格
rs.close
setrs=nothing
%>
统计总数量:
recordcount
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"select*from表名orderbyiddesc",conn,1,1
response.writers.recordcount'显示统计出来的总的记录数目
rs.close
setrs=nothing
%>
下面我们来说说字段为空的判断:
字段为空有两种,
一种是默认值设置为字符的比如SQL数据库字段默认值可以填写N''
另一种默认值为空的,字段显示内容为null的
平时我们查询判断字段为空的把两种空都写上
查询所有为空的字段:
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"Select*from表名whereabc=’’orabcisnull",conn,1,1
%>
查询所有不为空的字段:
<%
Setrs=Server.CreateObject("ADODB.Recordset")
rs.open"Select*from表名whereabc<>''orisabcnotnull",conn,1,1
%>
那么在读取字段的时候判断是否为空的:
<%
ifisnull(rs(字段名))=trueorrs(字段名)=""then
'true表示为空
else
'false表示不为空
endif
ifrs(字段名)isnullorrs(字段名)=""then
'表示为空
else
'表示不为空
endif
ifnotrs(字段名)isnullorrs(字段名)<>""then
'表示不为空
else
'表示为空
endif
%>
<1>基本框架
<%
语句
……
%>
<2>定义变量dim语句
<%
dima,b
a=10
b=”ok!
”
%>
注意:
定义的变量可以是数值型,也可以是字符或者其他类型的
<3>简单的控制流程语句
1.If条件1then
语句1
elseif条件2then
语句2
else
语句3
endif
2.while条件
语句
wend
3.forcount=1tonstepm
语句1
exitfor
语句2
next
二.ASP数据库简单操作教程
<1>.数据库连接(用来单独编制连接文件conn.asp)
<%
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&Server.MapPath("wx.mdb")
%>
(用来连接wx.mdb数据库)
<2>显示数据库记录
原理:
将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录
如果是从头到尾:
用循环并判断指针是否到末使用:
notrs.eof
如果是从尾到头:
用循环并判断指针是否到开始使用:
notrs.bof
--#includefile=conn.asp-->(包含conn.asp用来打开wx.mdb数据库)
<%
setrs=server.CreateObject("adodb.recordset")(建立recordset对象)
sqlstr="select*fromzc"---->(zc为数据库中的一个数据表,即你要显示的数据所存放的数据表)
rs.opensqlstr,conn,1,3---->(表示打开数据库的方式)
rs.movefirst---->(将指针移到第一条记录)
whilenotrs.eof---->(判断指针是否到末尾)
response.write(rs("name"))---->(显示数据表zc中的xm字段)
rs.movenext---->(将指针移动到下一条记录)
wend---->(循环结束)
rs.close
conn.close这几句是用来关闭数据库
setrs=nothing
setconn=nothing
%>
其中response对象是服务器向客户端浏览器发送的信息.
<3>增加数据库记录
增加数据库记录用到rs.addnew,rs.update两个函数
--#includefile=conn.asp-->(包含conn.asp用来打开wx.mdb数据库)
<%
setrs=server.CreateObject("adodb.recordset")(建立recordset对象)
sqlstr="select*frommessage"---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
rs.opensqlstr,conn,1,3---->(表示打开数据库的方式)
rs.addnew新增加一条记录
rs("name")="xx"将xx的值传给name字段
rs.update刷新数据库
rs.close
conn.close这几句是用来关闭数据库
setrs=nothing
setconn=nothing
%>
<4>删除一条记录
删除数据库记录主要用到rs.delete,rs.update
--#includefile=conn.asp-->(包含conn.asp用来打开bbs\db1\目录下的user.mdb数据库)
<%
dimname
name="xx"
setrs=server.CreateObject("adodb.recordset")‘(建立recordset对象)
sqlstr="select*frommessage"‘(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
rs.opensqlstr,conn,1,3‘(表示打开数据库的方式)
whilenotrs.eof
ifrs("name")=namethen
rs.delete
rs.update‘查询数据表中的name字段的值是否等于变量name的值"xx",如果符合就执行删除,
else‘否则继续查询,直到指针到末尾为止
rs.movenext
emdif
wend
rs.close
conn.close‘这几句是用来关闭数据库
setrs=nothing
setconn=nothing
%>
<5>关于数据库的查询
(a)查询字段为字符型
<%
dimuser,pass,qq,mail,message
user=request.Form("user")
pass=request.Form("pass")
qq=request.Form("qq")
mail=request.Form("mail")
message=request.Form("message")
iftrim(user)&"x"="x"ortrim(pass)&"x"="x"then(检测user值和pass值是否为空,可以检测到空格)
response.write("注册信息不能为空")
else
setrs=server.CreateObject("adodb.recordset")
sqlstr="select*fromuserwhereuser=‘‘‘‘"&user&"‘‘‘‘"(查询user数据表中的user字段其中user字段为字符型)
rs.opensqlstr,conn,1,3
ifrs.eofthen
rs.addnew
rs("user")=user
rs("pass")=pass
rs("qq")=qq
rs("mail")=mail
rs("message")=message
rs.update
rs.close
conn.close
setrs=nothing
setconn=nothing
response.write("注册成功")
endif
rs.close
conn.close
setrs=nothing
setconn=nothing
response.write("注册重名")
%>
(b)查询字段为数字型
<%
dimnum
num=request.Form("num")
setrs=server.CreateObject("adodb.recordset")
sqlstr="select*frommessagewhereid="&num(查询message数据表中id字段的值是否与num相等,其中id为数字型)
rs.opensqlstr,conn,1,3
ifnotrs.eofthen
rs.delete
rs.update
rs.close
conn.close
setrs=nothing
setconn=nothing
response.write("删除成功")
endif
rs.close
conn.close
setrs=nothing
setconn=nothing
response.write("删除失败")
%>
<6>几个简单的asp对象的讲解
response对象:
服务器端向客户端发送的信息对象,包括直接发送信息给浏览器,重新定向URL,或设置cookie值
request对象:
客户端向服务器提出的请求
session对象:
作为一个全局变量,在整个站点都生效
server对象:
提供对服务器上方法和属性的访问
(a)response对象的一般使用方法
比如:
<%
resposne.write("hello,welcometoasp!
")
%>
在客户端浏览器就会看到hello,welcometoasp!
这一段文字
<%
response.Redirect("")
%>
如果执行这一段,则浏览器就会自动连接到“搜狐”的网址
关于response对象的用法还有很多,大家可以研究研究
request对象的一般使用方法
比如客户端向服务器提出的请求就是通过request对象来传递的
列如:
你在申请邮箱的所填写的个人信息就是通过该对象来将
你所填写的信息传递给服务器的
比如:
这是一段表单的代码,这是提供给客户填写信息的,填写完了按
“提交”传递给request.asp文件处理后再存入服务器数据库
那么request.asp该如何将其中的信息读入,在写入数据库,在这里就要用到
request对象了,下面我们就来分析request.asp的写法
<%
dimname,password(定义user和password两个变量)
name=request.form(“user”)(将表单中的user信息传给变量name)
password=request.form(“pass”)(将表单中的pass信息传给变量password)
%>
通过以上的几句代码就将表单中的数据读进来了,剩下要做的就是将
信息写入数据库了。
1.获得系统时间:
<%=now()%>
2.取得来访用的IP:
<%=request.serverVariables("remote_host")%>
3.获得系统,浏览器版本:
window.document.write("版本:
"+navigator.appName+navigator.appVersion+"browser.")
4.去除IE混动条:
hidden"> 5.进入网站,跳出广告: -- --注意更改文件所在路径--> window.open(''http: //www.njcard.org'','''',''height=200,width=300,top=0,left=30''); //--> 程序代码6.随机数: <%randomize%> <%=(int(rnd()*n)+1)%> N为可改变数 7.向上混动代码: 9pt;color: #FF0000; line-height: 150%;font-style: italic;font-weight: bold"scrollamount="2"width="206" height="207"bgcolor="#FFFF00">hhhhhhhhhhhhhhhhhhh 8.自动关闭网页: -- setTimeout(''window.close();'',10000);//60秒后关闭 //--> 9.随机背景音乐: <%randomize%> 可以修改数字,限制调用个数,我这里是60个. 10.自动刷新本页面: -- varlimit="0: 10" if(document.images){ varparselimit=limit.split(": ") parselimit=parselimit[0]*60+parselimit[1]*1 } functionbeginrefresh(){ if(! document.images) return if(parselimit==1) window.location.reload() else{ parselimit-=1 curmin=Math.floor(parselimit/60) cursec=parselimit%60 if(curmin! =0) curtime=curmin+"分"+cursec+"秒后重刷本页! " else curtime=cursec+"秒后重刷本页! " window.status=curtime setTimeout("beginrefr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- asp 数据库 学习 笔记