美高梅4688官方网站定义变量dim语句,  由于要使用数据库来保存记数值与用户信息

选取ASP制作网站流速计,日常选拔ASP的嵌入对象application,用一文书文件来保存记数值,在那间本身将介绍别的生龙活虎种方式,选拔数据库来创建,并且是多客户版的,那样,既可以够温和行使,并且可感觉此外网址服务了。上边是具体做法: 

<%
dim conn
dim connstr
on error resume next
connstr="DBQ="+server.mappath("zj.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
Sub rsclose()
    rs.close()
set rs=nothing
End Sub
Sub connclose()
    conn.close()
set conn=nothing
End Sub
%>

**旧事中的1钟头里ASP入门 能还是不可能入门看个人修养了

● 制作前的希图 
  由于要利用数据库来保存记数值与客商新闻,所以必需先创造数据库(这里大家选拔ACCESS格式State of Qatar,能够用Microsoft Access创立上面包车型大巴数据库: 


**<1>基本框架

数据库名字为:count.mdb 

index.asp:

<!--#include file="conn.asp"-->
<%
act = Request.Querystring("act")
if act="up" then
    uploading(file)
else
%>
<form name="form1" enctype="multipart/form-data" method="post" action="index.asp?act=up">
<p>
<input type="file" name="file">
<input type="submit" name="Submit" value="上传">
</p>
</form>
<%
view()
end if
%>
<%
Function f_Bin2Str(ByVal sBin)
Dim iI, iLen, iChr, iRe
iRe = ""
If Not IsNull(sBin) Then
iLen = LenB(sBin)
For iI = 1 To iLen
iChr = MidB(sBin, iI, 1)
If AscB(iChr) > 127 Then
iRe = iRe & Chr(AscW(MidB(sBin, iI + 1, 1) & iChr))
iI = iI + 1
Else
iRe = iRe & Chr(AscB(iChr))
End If
Next
End If
f_Bin2Str = iRe
End Function

function uploading(file卡塔尔(قطر‎  '上传函数!
Response.Expires=0
set iRe=Server.CreateObject("ADODB.Recordset")
iSql="tb_img"
iRe.Open iSql,conn,1,3
iLen=Request.TotalBytes
sBin=Request.BinaryRead(iLen)
iCrlf1 = ChrB(13) & ChrB(10)
iCrlf2 = iCrlf1 & iCrlf1
iLen = InStrB(1, sBin, iCrlf1) - 1
iSpc = LeftB(sBin, iLen)
sBin = MidB(sBin, iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
While iPos1 > 0
iStr = f_Bin2Str(LeftB(sBin, iPos1))
iPos1 = iPos1 + 5
iPos2 = InStrB(iPos1, sBin, iSpc)

iPos3 = InStr(iStr, "; filename=""") + 12
If iPos3 > 12 Then
iStr = Mid(iStr, iPos3)
iPos3 = InStr(iStr, Chr(13) & Chr(10) & "Content-Type: ") - 2
iFn = Left(iStr, iPos3)
If iFn <> "" Then
iRe.AddNew
ire("path")=left(iFn,instrrev(iFn,""))
iRe("fname") = mid(iFn,instrrev(iFn,"")+1)
iRe("type") = Mid(iStr, iPos3 + 18)
iRe("img").AppendChunk MidB(sBin, iPos1, iPos2 - iPos1)

iRe.Update

End If
End If

sBin = MidB(sBin, iPos2 + iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Wend
set iRe1=Nothing
view()
%>

<form name="asdf">
<input type="text" name="ice">
</form>

<SCRIPT LANGUAGE="VBScript">
<!--
Set TheForm = Document.asdf
TheForm.ice.Value="<%=left(iFn,instrrev(iFn,""))%>"
-->
</SCRIPT>
<%
end function'上传函数甘休!
%>

<%
function view(卡塔尔国 '查看链接函数
sql="select*from tb_img order by id desc"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,3
i=1
do while not rs.eof
%>
i:<a href=view.asp?id=<%=rs("id")%> target="_blank"><%=rs("fname")%></a><br>
<%
rs.movenext
loop
rs.close
set rs=nothing
end function

<%
语句
……
%>

表名为:counttable 

%>

<2>定义变量dim语句

有下边字段: 

view.asp

<%
requestID=Request.Querystring("id")
Response.Buffer=true
Response.Clear

iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
";Data Source=" & server.mappath("zj.mdb")
set iRe=server.createobject("adodb.recordset")
iSql="select*from tb_img where id=" & requestID
iRe.open iSql,iconcstr,1,3
do while not iRe.eof

Response.BinaryWrite iRe("img")
response.write"<br>"
iRe.movenext
loop

<%
dim a,b
a=10
b=”ok!”
%>
瞩目:定义的变量能够是数值型,也得以是字符可能别的类别的

user:[数据类型:文本,字段大小:255]保存客商名 

%>

<3>轻松的主宰流程语句

pageurl:[数据类型:文本,字段大小:255]保留客户主页地址 

数据库:zj.mdb

i

  1. If 条件1 then
    语句1
    elseif 条件2 then
    语句2
    else
    语句3
    endif

curvalue:[数据类型:数字,字段大小:长整型]保存流速计值 

2.while 条件
语句
wend

  同期需希图13个图片:0-9,放于目录"1"中,文件名叫0.gif,1.gif......(用来图形化显示的计数值State of Qatar 

3.for count=1 to n step m
语句1
exit for
语句2
next

● 顾客申请表单制作 
  可以运用Microsoft FrontPage制作上面的计数器申请表单,文件名保存为:get.htm 

二.ASP数据库简单*作教程
<1>.数据库连接(用来单独编写制定连接文件conn.aspState of Qatar
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bbsdb1user.mdb")
%>

<form method="POST" action="getcl.asp"> 
<p>用 户 名<input type="text" name="user" size="20"></p> 
<p>流量计值<input type="text" name="curvalue" size="20"></p> 
<p>主页地址<input type="text" name="pageurl" size="20"></p> 
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p> 
</form> 

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("pldb/pldb.mdb")

  表单中的action="getcl.asp"表示用getcl.asp文件来拍卖客商的输入,那么,getcl.asp文件怎么处理顾客的输入,将客户的输入参预数据库呢?方法如下: 

(用来一而再再而三bbsdb1目录下的user.mdb数据库卡塔尔(قطر‎

<%'建立与数据库的连接 
Set conn = Server.CreateObject("ADODB.Connection") 
dbpath=server.Map帕特h("count.mdb"卡塔尔国'获得数据库的实在路线 
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&DbPath 
set rs=server.CreateObject("adodb.recordset") 

<2>展现数据库记录
原理:将数据库中的记录黄金年代黄金时代展现到客商端浏览器,依次读出数据库中的每一条记下
大器晚成旦是长久:用循环并决断指针是不是到末 使用: not rs.eof
如假使从尾到头:用循环并认清指针是或不是到起来 使用:not rs.bof

'得到客商音信 
user=Request.Form("user") 
pageurl=Request.Form("pageurl") 
curvalue=Request.Form("curvalue") 

<!--#include file=conn.asp--> (包罗conn.asp用来张开bbsdb1目录下的user.mdb数据库State of Qatar
<%
set rs=server.CreateObject("adodb.recordset") (建立recordset对象)
sqlstr="select * from message" ---->(message为数据库中的贰个数据表,即你要出示的数码所贮存的数据表卡塔尔(قطر‎
rs.open sqlstr,conn,1,3 ---->(表示展开数据库的法子State of Qatar
rs.movefirst ---->(将指针移到第一条记下卡塔尔(قطر‎
while not rs.eof ---->(决断指针是不是到最终卡塔尔 aspxuexi.com 整理文书档案asp学习网
response.write(rs("name"卡塔尔State of Qatar ---->(彰显数据表message中的name字段State of Qatar
rs.movenext ---->(将指针移动到下一条记下State of Qatar
wend ---->(循环甘休卡塔尔国
rs.close
conn.close 这几句是用来关闭数据库
set rs=nothing
set conn=nothing
%>
中间response对象是服务器向顾客端浏览器发送的新闻.

'先检查客户名是还是不是存在 
sql="select * from counttable where user='"&user&"'" 
rs.Open sql,conn,1,3 
if not rs.EOF then 
Response.Write"<title>申请出错</title>" 
Response.Write"对不起,客户名已经存在!</title>" 

<3>扩展数据库记录
扩展数据库记录用到rs.addnew,rs.update五个函数
<!--#include file=conn.asp--> (包蕴conn.asp用来开拓bbsdb1目录下的user.mdb数据库卡塔尔
<%
set rs=server.CreateObject("adodb.recordset") (建立recordset对象)
sqlstr="select * from message" ---->(message为数据库中的贰个数据表,即你要显示的多寡所寄存的数据表卡塔尔国
rs.open sqlstr,conn,1,3 ---->(表示张开数据库的艺术State of Qatar
rs.addnew 新增加一条记下
rs("name"卡塔尔(قطر‎="xx" 将xx的值传给name字段
rs.update 刷新数据库
rs.close
conn.close 这几句是用来关闭数据库
set rs=nothing
set conn=nothing
%>

'甘休向下拍卖,须要顾客重填 
Response.End 
end if 

<4>删除一条记下
除去数据库记录主要用到rs.delete,rs.update
<!--#include file=conn.asp--> (包含conn.asp用来展开bbsdb1目录下的user.mdb数据库卡塔尔(قطر‎
<%
dim name
name="xx"
set rs=server.CreateObject("adodb.recordset") (建立recordset对象)
sqlstr="select * from message" ---->(message为数据库中的四个数据表,即你要体现的数额所存放的数据表卡塔尔
rs.open sqlstr,conn,1,3 ---->(表示展开数据库的艺术卡塔尔(قطر‎
while not rs.eof
if rs.("name")=name then
rs.delete
rs.update 查询数据表中的name字段的值是或不是等于变量name的值"xx",假设切合就实行删除,
else 不然继续查询,直到指针到最终停止
rs.movenext
emd if
wend
rs.close
conn.close 这几句是用来关闭数据库
set rs=nothing
set conn=nothing
%>

'将顾客音讯加入数据库 
rs.AddNew 
rs("user")=user 
rs("pageurl")=pageurl 
rs("curvalue")=curvalue 
rs.Update 
rs.Close 
set rs=nothing 
conn.Close 
set conn=nothing 
%> 

<5>关于数据库的询问
(aState of Qatar 查询字段为字符型
<%
dim user,pass,qq,mail,message
user=request.Form("user")
pass=request.Form("pass")
qq=request.Form("qq")
mail=request.Form("mail")
message=request.Form("message")
if trim(user卡塔尔国&"x"="x" or trim(passState of Qatar&"x"="x" then (检测user值和pass值是不是为空,能够检验到空格State of Qatar
response.write("注册音信无法为空"卡塔尔国
else
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from user where user=‘‘‘‘"&user&"‘‘‘‘" (查询user数据表中的user字段此中user字段为字符型卡塔尔国
rs.open sqlstr,conn,1,3
if rs.eof then
rs.addnew
rs("user")=user
rs("pass")=pass
rs("qq")=qq
rs("mail")=mail
rs("message")=message
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
response.write("注册成功"卡塔尔(قطر‎
end if
rs.close
conn.close
set rs=nothing
set conn=nothing
response.write("注册重名"卡塔尔
%>
(b卡塔尔国查询字段为数字型
<%
dim num
num=request.Form("num")
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from message where id="&num (查询message数据表中id字段的值是不是与num相等,当中id为数字型卡塔尔国
rs.open sqlstr,conn,1,3
if not rs.eof then
rs.delete
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
response.write("删除成功"卡塔尔国
end if
rs.close
conn.close
set rs=nothing
set conn=nothing
response.write("删除失败"卡塔尔(قطر‎
%>

● 计数程序制作 
  完毕了客户申请处理的营造,上边就要制作流量计的基本程序(count.asp卡塔尔了。具体方法如下: 
<% 
Set conn = Server.CreateObject("ADODB.Connection") 
dbpath=server.MapPath("count.mdb") 
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&DbPath 
user=Request.QueryString("user") 

<6>多少个大约的asp对象的任课
response对象:服务器端向客商端发送的消息指标,满含间接发送信息给浏览器,重新定向U讴歌MDXL,或安装cookie值
request对象:客商端向服务器提议的号召
session对象:作为四个全局变量,在整整站点都见到成效
server对象:提供对服务器上海艺术剧场术和性质的访谈
(a卡塔尔 response对象的相似采取方法
比如:
<%
resposne.write("hello, welcome to asp!")
%>
在客商端浏览器就探望到 hello, welcome to asp! 那少年老成段文字
<%
response.Redirect("www.sohu.com")
%>
假如实践那生龙活虎段,则浏览器就能自动一而再一而再到 “今日头条” 的网站
关于response对象的用法还会有许多,大家能够研讨切磋
request对象的近似接收方式
举个例子顾客端向服务器建议的倡议正是经过request对象来传递的
列如 :你在申请邮箱的所填写的个人音讯便是经过该目的来将
你所填写的音信传送给服务器的
举个例子:那是一段表单的代码,那是提必要客户填写音信的,填写完了按
“提交”传递给request.asp文件管理后再存入服务器数据库
<form name="form1" method="post" action="request.asp">
<p>
<input type="text" name="user">
</p>
<p>
<input type="text" name="pass">
</p>
<p>
<input type="submit" name="Submit" value="提交">
</p>
</form>
那么request.asp该怎么将中间的新闻读入,在写入数据库,在那就要动用
request对象了,下边大家就来深入分析request.asp的写法
<%
dim name,password (定义user和password八个变量卡塔尔(قطر‎
name=request.form(“user”卡塔尔 (将表单中的user音信传给变量name卡塔尔国
password=request.form(“pass”State of Qatar (将表单中的pass音讯传给变量password卡塔尔(قطر‎
%>

'计数值加1 
sql="update counttable set curvalue=curvalue+1 where user='"&user&"'" 
conn.Execute sql 
sql="select curvalue from counttable where user='"&user&"'" 
set rs=conn.Execute(sql) 

通过上述的几句代码大家就将表单中的数据读进去了,接下去大家要做的正是将
新闻写入数据库了,写入数据库的法子方面都介绍了,这里就不风姿浪漫风度翩翩复述了。
正文来源: zHc's Blog (www.drzhc.comState of Qatar详细出处仿照效法:

'定义chgimg函数,将计数值用图片表示 
function chgimg(curvalue) 
dim s,i,g 
s=cstr(curvalue) 
for i=1 to len(s) 

'请注意,在专门的职业使用流速计时,图片的渠道必须求利用实际路线 
g=g & "<img src=1/" & mid(s,i,1) & ".gif align=bottom>" 
next 
chgimg=g 
end function 

'调用chgimg函数(传入计数器值卡塔尔国 
toimg=chgimg(rs("curvalue")) 
toimg="document.write(" & "'" & toimg & "')" 

'输出 
Response.Write(toimg) 
rs.close 
set rs=nothing 
conn.Close 
set conn=nothing 
%> 

  注:此文件无法带用别样html标志,不然将会出错! 

● 如何在主页中体现计数器 
  完毕了流速計的制作,接下去是享受大家的劳动成果的时候了,怎么来调用流速計呢?超轻巧,只需在欲突显记数器的地点插入上边代码就行了。 

<script src="counter.asp?user=用户名"></script> 

'请注意,在行业内部使用流速计时,调用的门径必供给使用实际路径 

本文由美高梅4688官方网站发布于美高梅4688官方网站,转载请注明出处:美高梅4688官方网站定义变量dim语句,  由于要使用数据库来保存记数值与用户信息

您可能还会对下面的文章感兴趣: