校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 5天學會asp

5天學會asp

熱門標簽:沈陽三五防封電銷卡 沈陽電話機器人公司 云南便宜外呼系統平臺 長春公司外呼系統中心 虛擬電話外呼系統 成都ai外呼系統線路 鄭州智能外呼電銷機器人廠家 廣東語音外呼系統公司 鄢陵學校如何做地圖標注
呵呵,看到網上有人寫了10天學會asp,偶也想寫一個,他既然叫10天,那我就5天吧,呵呵,新手多看看,高手指出錯誤,不要笑話偶啊!知
識只有共享才能發展,不要吝嗇你的知識!!!!
好了我們閑話少說現在就開始吧!
首先,我先把ASP說一下,asp就是 Active Server Pages的簡寫,
我們為了方便理解那,就把asp想成是 插入到HTml中的一種腳本語言吧,這樣理解起來方便。
書上都是以hello world的代碼開始的,我們也這樣開始吧!
這里我們就開始以示例講解了:
〈html〉
  title>hello world/title>
body>
%response.write("hello world")%>
/body>
/html>
保存成test.asp,調試一下 就能看到hello world  了。
這里先讓大家看看他是怎么樣插入到HTML中的(asp程序是放在"% %>"中間的)
當然我們也可以在response.write中輸出HTML標記,比如 :
%response.write"font size=20 color=red>你好/font>"%>
就能看到一個紅色的20號的"你好"
接下來我們就說
asp中有六大內置對象,分別是:
      Request: 負責從用戶端接受信息
      Response:傳遞信息給用戶
      Server:  控制asp運行環境
      session: 負責存儲個別用戶信息
      Application:負責存儲數據以提供多個用戶的使用
      objectcontext:可提供asp程序直接配合MTS進行分散事物處理
這其中我們就常用的就是:Request,Response,Server,session,Application
在本文中會逐一講到,
剛才我們用了六大內置對象中的Response的write方法輸出了hello world
下面我們就用一個例子來講解request和response的用法:
首先,我們要用到html的form標簽來傳遞值:
一,我們先做個表單頁面,用來輸入數據,這個頁面就叫login.asp
html>
title>request和response的演示(值的傳遞和輸出)/title>
body>
     form name=form1 action=checklogin.asp method=post>
   center>
   table with=500>
      tr>
        td colspan="2" align="center">font size=5 color=blue>用戶登錄入口/font>
        /td>
      /tr>
      tr>
          td>font size=2>用戶名:/font>/td>

         td>
         input name=username type="text" maxlength="20">
        /td>
      /tr>
      tr>
        td>font size=2>密nbsp;碼:/font>/td>
         td>
         input type="password" name=password maxlength="20">
          /td>
      /tr>
       tr>
         td colspan="2" align=center>
   input type="submit" value=登錄>nbsp;
   input type="reset" value=重置>
          /td>
      /tr>
/table>
/center>
/form>
/body>
/html>
二,我們在做一個頁面來接受這些數據,這個頁面就叫checklogin.asp
%
'-------------------為防止出錯我們定義username和password----------------
dim username
dim password
'--------用request的form方法來接受login.asp頁面傳來的值,并付值給我們定義的username和password
username=request.form("username")
password=request.form("password")
'---------判斷傳來的值是不是空值
if username="" then
'用response的write的方法輸出一個腳本
    response.write"script>alert('用戶名不能為空')/script>"
 response.end
end if
if password="" then
 response.write"script>alert('密碼不能為空')/script>"
 response.end
end if
'----------判斷用戶名和密碼是不是一樣的,如果一樣的輸出"登陸成功"并把session的標志給這個用戶,否則就輸出"登陸失敗"
if username="admin" and password="admin" then
response.write"登陸成功"
session("loginok")=username
else
response.write"登陸失敗"
'重定向到login.asp
response.redirect"login.asp"
end if 
%>
這里我們用到了request.form的方法(接受數據)
response的write(輸出數據)和redirect(重定向)
session的會話,這里我先簡單的說說session的作用吧,
就拿我的同學錄來說吧!這里會判斷用戶的級別和權限(如:沒有審核同學,通過審核的同學,班級管理員)如果用戶登陸成功了,
session就和server產生了會話,沒有審核同學就付值為session(userlevel)=1,通過審核的同學就付值為session(userlevel)=2
班級管理員就付值為session(userlevel)=3,這樣就有效的區別的用戶的權限和級別。
類似的做用的還有cookies,它也有這樣的作用,不同的是cookise是產生到客戶端的。。。。
我在這個例子里主要講解了request和response的用法,其實他們還有一些屬性和方法,
這里我只是講解了常用的,希望大家有空看看這里我沒有提到的屬性方法
這個例子我沒有把用戶和密碼放到數據庫中是為了方便大家的理解,
下一節我們將講解怎么樣連接數據庫和實現操作數據庫的。。。。


-----------------------------------------------------------------------------------------------------------------------
5天搞定asp
第二天
今天我們主要講解ASP中常用的SQL語句,和怎樣在頁面中執行SQl 語句。。。
其實常用的語句無外乎數據的“增,刪,改”好象所有的數據處理程序中都有這幾種操作,下面我們先寫sql語句,如果您需要了解更多的請
看我的Blog.91time.com中的SQl語句經典或看看SQL的書籍>
-----(一)--查詢---------
1,首先我們要做第一個查詢>,這是SQl中最基本的語句了,
select * from [表名] where [條件] order by [條件] desc 
其中,desc降序,默認是asc升序,
例子:select * from news where news_id='"news_id"' order by news_id desc
意思就是查詢news表中的"*"代表所有數據,條件是news_id等于 news_id然后按照news_id 的降序排列
在查詢里還能用到group by分組排序等等,這里就不系說了。
2,count()函數用來計算記錄的行數。
例:select count(*) from news
計算數據庫中有多少行
3,sum()函數用來計算表達試中的項目和。
例:select age,sum(number) from person where age>20 group by age
6,top關鍵字,限制返回記錄的行數
-----(二)--插入---------
insert 語句
格式如下:
insert into 表名>[字段1>,字段2>……] values[常量1,…………]
例:insert into news(id,news) values(1,'新聞')
---(三)--更新-------
update語句
格式:
update表名> set 列名>=表達式>,列名1>=表達式1>……
where 條件>
例:update news set content=最新消息 where news_id='"news_id"' 
-----(四)---刪除----------
delete語句
格式:delete from 表名> where 條件
例:delete from news where news_id>20
好了sql語句我們就說這么多吧,下面我們開始創建個數據庫,這里我們就用SQL數據庫吧
打開" 查詢分析器"
'創建個數據庫叫news
create database news
use news
create table admin
(
id int primany key,
admin_name varchar(20) not null,
admin_pwd  varchar(20) not null,
)
'然后我們插入一條數據
insert into admin values(1,'admin','admin')
'然后我們用select * from 查詢一下
select * from admin
就會看到我們的數據了
好了,我們打開昨天做的登陸嚴整的代碼,這里我們回顧一下吧,做天我們用了兩個頁來實現的會員登陸的驗證,
這兩個頁分別是(登陸頁login.asp)和(驗證頁checklogin.asp),
現在我們沒有做數據庫驗證,
(登陸頁login.asp)頁我們不用改動,
下面我們只需改動(驗證頁checklogin.asp),就行了,
這里我們要做個連接數據庫的頁面文件,名字就叫conn.asp吧
代碼如下
%
dim conn,dbuid,dbpwd,dBName,dbip
 dbuid="sa"   '數據庫登陸名
 dbpwd="123456"   '數據庫密碼
 dBName="news"   '數據庫名稱
 dbip="(local)"   '可為IP '數據庫所在地址,如果是本地數據庫則為:(local)
'---------------------------------------------------------------------------
set conn=Server.CreateObject("adodb.Connection")
Conn.Open  "PROVIDER=SQLOLEDB.1;Data Source="dbip";Initial Catalog="dBName";Persist Security Info=True;User 
ID="dbuid";Password="dbpwd";Connect Timeout=30"
If Err Then
 err.Clear
 set conn=nothing
 Response.Write "無法連接MSSQL"
 Response.End
End If
%>
打開checklogin.asp代碼,
首先在頁面上我們要引用數據庫連接文件
!--#include file=conn.asp-->
%
'-------------------為防止出錯我們定義username和password----------------
dim username
dim password
'--------用request的form方法來接受login.asp頁面傳來的值,并付值給我們定義的username和password
username=request.form("username")
password=request.form("password")
'---------判斷傳來的值是不是空值
if username="" then
'用response的write的方法輸出一個腳本
    response.write"script>alert('用戶名不能為空')/script>"
 response.end
end if
if password="" then
 response.write"script>alert('密碼不能為空')/script>"
 response.end
end if
'----------判斷用戶名和密碼是不是一樣的,如果一樣的輸出"登陸成功"并把session的標志給這個用戶,否則就輸出"登陸失敗"
'------------這里我們就要在數據庫里面比較兩個值了
set rs=server.cerateobject("adodb.recordset")
sql="select * from admin where admin_name='"username"' and admin_pwd='"password"' "
rs.open sql,conn,1,1
'如果用戶不存在
if rs.eof and rs.bof then
response.write"SCRIPT language=javascript>alert('用戶名或密碼不正確!');"
response.write"javascript:history.go(-1)/SCRIPT>"
response.end
'負責將用session 產生會話
else
session("admin")=rs("admin_name")
session("password")=rs("admin_pwd")
session("aleave")=rs("aleave")
response.redirect "admin.asp"
end if
'---------最后不要忘記關閉數據連接,釋放資源
rs.close
set rs=nothing
%>
這里我們做好了一個簡單的登陸嚴整,比如我們還可以用session來限制登陸的次數,或者登陸人的權限等等,
如有需要來blog看看哦,都有相應的文章.http://blog.91time.com

接下來我們做添加把,哈哈哈 ,這個和上面的例子一樣的簡單
為了便于理解我都做成了兩個頁面,在本節的最后,我會用"隱藏域的方法做個(增,刪,改)在一個頁的例子"
我們繼續吧
和上一個例子一樣,這個頁面還是用來輸入值的,叫add.asp
html>
title>添加示例/title>
body>
     form name=form1 action=adduser.asp method=post>
   center>
   table with=500>
      tr>
        td colspan="2" align="center">font size=5 color=blue>添加/font>
        /td>
      /tr>
      tr>
          td>font size=2>用戶名:/font>/td>

         td>
         input name=username type="text" maxlength="20">
        /td>
      /tr>
      tr>
        td>font size=2>密nbsp;碼:/font>/td>
         td>
         input type="password" name=password maxlength="20">
          /td>
      /tr>
       tr>
         td colspan="2" align=center>
   input type="submit" value=添加>nbsp;
   input type="reset" value=重置>
          /td>
      /tr>
/table>
/center>
/form>
/body>
/html>
下面我們做adduser.asp,這個頁面就是向數據庫中添加值了
!--#include file=conn.asp-->
'這里我們添加一個判斷,用來判斷是不是管理員,只有管理員才有權添加用戶
%
if isempty(session("admin")) or session("admin")="" then 
response.redirect"login.asp"
end if
%>
%
'-------------------為防止出錯我們定義username和password----------------
dim username
dim password
'--------用request的form方法來接受add.asp頁面傳來的值,并付值給我們定義的username和password
username=request.form("username")
password=request.form("password")
'---------判斷傳來的值是不是空值
if username="" then
'用response的write的方法輸出一個腳本
    response.write"script>alert('用戶名不能為空')/script>"
 response.end
end if
if password="" then
 response.write"script>alert('密碼不能為空')/script>"
 response.end
end if
'----------判斷用戶是不是已經存在了,如存在就提示,并返回。
set rs=server.cerateobject("adodb.recordset")
sql="select * from admin where admin_name='"username"'"
rs.open sql,conn,3,3
'如果用戶存在
if not(rs.eof and rs.bof) then
response.write"SCRIPT language=javascript>alert('用戶以存在,請重新選擇!');"
response.write"javascript:history.go(-1)/SCRIPT>"
response.redirect"add.asp"
'添加用戶
else
rs.addnews
rs("admin_name")=username
rs("admin_pwd")=password
rs.update
response.write"SCRIPT language=javascript>alert('添加成功,請返回');"
response.write"javascript:history.go(-1)/SCRIPT>"
response.redirect"add.asp"
end if
'---------最后不要忘記關閉數據連接,釋放資源
rs.close
set rs=nothing
%>

----------------------------------------------------------------------------------------------------------------------
5天搞定asp第二天[續]
哈哈 第二天的那頁放不下了就分開了
不要意思了

好了,現在我來做“更新”“刪除”
這里的重點是要取的要刪除的數據的編號,數據編號是唯一的不可重復的
首先我們把所有的用戶有取出來 ,并放在一個頁面上
先寫的是更新哦
呵呵
刪除和這個基本一樣就是SQL的語句不同,要注意的是新聞的id是怎么樣取得的!!!!
這才是本文的重點!!!!!!!!!
---注意數據庫中沒有權限的字段,自己添上就行了----------呵呵--------
------------------------------------------------admin_admin.asp顯示頁---------------------------------
html>
head>
title>管理系統/title>
body>
table width="100%" border="0" cellpadding="0" cellspacing="0">
  tr>
    td>
table width="100%" border="0" cellspacing="0" cellpadding="0">
        tr>
          td>nbsp;/td>
        /tr>
      /table>
      table width="90%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#000000">
        tr align="center" bgcolor="#ffaaaa"> 
          td width="15%" height="24"> ID/td>
          td width="15%">用戶/td>
          td width="20%">密碼/td>
          td width="20%">權限/td>
          td width="15%">修改/td>
          td width="15%">刪除/td>
        /tr>
        %
Set rs=Server.CreateObject("ADODB.RecordSet") 
sql="select * from admin order by id" 
rs.Open sql,conn,1,1 
while not rs.eof
if rs("aleave")="super" then aleave="超級管理員" end if
if rs("aleave")="check" then aleave="普通管理員" end if
%>
        tr align="center"> 
          td height="22">%=rs("id")%>/td>
          td>%=rs("admin")%>/td>
          td>%=rs("password")%>/td>
          td>%=aleave%>/td>
          td>a href="admin_AdminModify.asp?id=%=rs("id")%>">修改/a>/td>
          td>a href="admin_AdminDel.asp?id=%=rs("id")%>">刪除/a>/td>
        /tr>
        %
rs.movenext
wend
rs.close
set rs=nothing
%>
      /table> 
/body>
/html>
----------------------編號id的接受頁admin_AdminModify.asp-------------------------

%
!--#include file=conn.asp-->
'QueryString的方法取得用戶id
id=request.QueryString("id")
set rs=server.createobject("adodb.recordset")
sql="select * from admin where id="id
rs.open sql,conn,1,1
if rs.eof then
response.write"SCRIPT language=javascript>alert('服務器出錯,請聯系管理員!');"
response.write"javascript:history.go(-1)/SCRIPT>"
else
admin=rs("admin")
password=rs("password")
aleave=rs("aleave")
table>
form method="POST" action="admin_adminSave.asp?id=%=id%>">

    tr> 
      td colspan=2 align=center>b>修 改 管 理 員 資 料/b>/td>
/tr>
    tr> 
      td width="30%" height="22" align="right">用戶名:/td>
      td width="70%"> 
        input type="text" name="admin" value="%=admin%>" size="20">/td>
/tr>
    tr bgcolor="#FFFFFF"> 
      td width="30%" height="22" align="right">密碼:/td>
      td width="70%"> 
        input type="text" name="password" value="%=password%>" size="20">/td>
/tr>
    tr bgcolor="#FFFFFF"> 
      td width="30%" height="22" align="right">權限:/td>
      td width="70%" height="22"> 
        select name="aleave" style="font-size:9pt" class="input">
option value=super%if aleave="super" then%> selected%end if%>>超級管理員/option>
option value=check%if aleave="check" then%> selected%end if%>>普通管理員/option>
/select>
/td>
/tr>
    tr align="center" bgcolor="#FFFFFF" height="24"> 
      td height="30" colspan=2> 
        input type="hidden" value="edit" name="act">
input name="cmdok" type="submit" id="cmdok" value=" 修 改 ">
        nbsp;
input name="cmdcance" type="reset" id="cmdcance" value=" 清 除 ">
/td>
/tr>
/form>
/table>
%
end if
rs.close
set rs=nothing
%>
%>
-----------------------------------------------------------------
下面我們看看接收頁怎么寫的吧!這頁面就是功能頁了!
!--#include file=conn.asp-->
%
admin=request.form("admin")
password=request.form("password")
aleave=request.form("aleave")
if admin="" or password="" then
response.write"SCRIPT language=javascript>alert('管理員名稱和密碼都不能為空!');"
response.write"javascript:history.go(-1)/SCRIPT>"
Response.End
end if
set rs=server.CreateObject("ADODB.RecordSet")
if request("act")="edit" and request.QueryString("id")>"" then
id=request("id")
sql="select * from admin where id=" request.QueryString("id")
rs.open sql,conn,3,2
if not rs.eof then
rs("aleave")=aleave
rs("admin")=admin
rs("password")=encrypt(password)
rs.update
end if
rs.close
elseif request("act")="add" then
sql="select * from admin where admin_name='"admin"'"
rs.open sql,conn,3,2
if (rs.eof and rs.bof) then
rs.addnew
rs("aleave")=aleave
rs("admin")=admin
rs("password")=password
rs.update
end if
rs.close
end if
set rs=nothing
conn.close
set conn=nothing
response.redirect "admin_admin.asp"
%>
--------------------------------刪除------------------------------------
有了上面的基礎寫刪除就更簡單了,我們繼續哦
是不是很簡單哦
!--#include file="conn.asp" -->
%
if isempty(session("admin")) or session("admin")="" then 
response.redirect"login.asp"
end if
%>
%
set rs=server.CreateObject("ADODB.RecordSet")
rs.open "delete * from admin where id="request.QueryString("id"),conn,1
set rs=nothing
response.redirect "admin_admin.asp"
%>
最后我們把今天說的東西在總結一下,今天我們做了增,刪,改
這里,增加我們主要是用到了數據庫的操作,在寫添加的時候用sql的insert語句直接添加也行,我們用的是rs.addnew的方法
喜歡怎么用就怎么用了,,,呵呵
隨心情了,
在就是修改和刪除,這兩個功能最總要的就是怎么樣鎖定要修改的那條記錄,
這里的方法就多了,可以用QueryString的方法取得用戶id,也可以用"隱藏域的方法取的id"
我們也可以把增,刪,改寫在一個頁面中 這樣顯得整潔一些,
呵呵,這個也就看個人愛好了,剛開始學的話就好用多個頁實現功能,
等時間常了 熟練了在用一個頁面寫
下面大家就來看看我是怎么樣用隱藏域的方法來實現一頁完成這寫功能的和怎么樣用"隱藏域的方法取的id"的???????

-------------------------------一個頁面的增,刪,改------------------------------------
!--#include file="conn.asp"-->
%
info=trim(request("info"))
Set rs=Server.CreateObject("ADODB.Recordset")
select case info
case "add"
sql="SELECT * FROM link"
rs.Open sql,conn,1,3
rs.Addnew
rs("name")=trim(request("webname"))
rs("url")=trim(request("url"))
rs.Update
Response.Redirect"mody.asp"
case "mod"
sql="SELECT * FROM link where id="trim(request("id"))
rs.Open sql,conn,1,3
rs("name")=trim(request("webname"))
rs("url")=trim(request("url"))
rs.Update
Response.Redirect"mody.asp"
case "del"
sql="delete * FROM link where id="trim(request("id"))
rs.Open sql,conn,1,3
Response.Redirect"mody.asp"
case else
Set rs=Server.CreateObject("ADODB.Recordset")
sql="SELECT * FROM link order by id asc"
rs.Open sql,conn,1,3
%>
table border="1" width="500" align=center cellspacing="0">
    tr>
      td width="33%" align="center">網站名稱/td>
      td width="33%" align="center">網站地址/td>
      td width="34%" align="center">操作/td>

      form method="POST" action="mody.asp">
    tr>
      td width="33%">input type="hidden" name="info" value="add">input type="text" name="webname" size="20">/td>
      td width="33%">input type="text" name="url" size="20">/td>
      td width="34%">input type="submit" value="  添加  " name="B1">/td>
    /tr>/form>
    %do while not rs.eof%>form method="POST" action="mody.asp">

    tr>
      td width="33%">input type="hidden" name="info" value="mod">input type="hidden" name="id" value="%=rs("id")%
>">input type="text" name="webname" size="20" value="%=rs("name")%>">/td>
      td width="33%">input type="text" name="url" size="20" value="%=rs("url")%>">/td>
      td width="34%">input type="submit" value="修改" name="B1">    input type="button" name="Submit" value="刪除" 
onClick="javascript:location='mody.asp?info=delid=%=rs("id")%>'">/td>
    /tr>/form>%rs.movenext
    loop%>
  /table>
%end select%>
%rs.close%>
呵呵 今天就說到這吧,講的東西有點多,大家仔細的看看,有什么不懂的,給我留言吧QQ:21427143  ||  54151107
現在都午夜了哦  哈哈哈哈哈哈 
明天我們總結一下吧,這兩天的東西在大學里要學大半的學期呢,
希望大家都能高興,開心了



-------------------------------------------------------------------------------------------------------------------
第三天
上一節我們講解了ASP中應用最廣泛的操作,其實那就是個網站的后臺的管理中(用戶的管理),
新聞管理,投票管理也都是這樣做的,不用的就是他們的功能更復雜,數據更多,
其中留言板就是數據的存儲和讀取的過程,不過是我們把這個過程復雜化了,
第一天,我們講解了數據和值的傳遞過程,用form>來將值傳遞到下一個頁面中,并用Request.form來接受,用response.write的方法來輸出
,這里主要是讓大家理解值的傳遞過程,當然我們也可以在一個頁面中傳遞。
第二天,我們講解了SQL的常用的語句,和在ASP中怎么樣執行SQL語句,
今天我們主要講一下:SESSION和cookies,回顧以下response,request。
    首先,登陸模塊的程序都會用到檢測是不是用戶已經登陸這個步驟。這就用到了SESSION和cookies,
我們還是用代碼來說明(在上面的程序中我們已經用到了):
---------------------------------------------------
1>這是session的寫法:
%
'如果用戶存在
session("aleave")=rs("aleave")
%>
------------------------------------------------
2>這是cookies的寫法:
%
response.cookies("adminok")=true
%>
這樣我們就能在我們需要的地方進行判斷了
代碼如下:
%
  if session("aleave")="" then
      response.redirect "adminlogin.asp"
   response.end
  end if
%>
這里是cookies的驗證判斷:
%
if request.cookies("adminok")="" then 
response.redirect"login.asp"
end if
%>
這樣沒有session和cookies標志的用戶是無法打開這個頁面。
最后我們說一下response.redirect,它是重定向的意思,
后面的"login.asp"就是轉向的文件。這樣沒有登陸的管理員是無法看到后面的內容的。
下面總結一下
response常用的就是response.write () , response.redirect() 分別是寫字符串和轉向的作用
request基本就是request.form(),request.querystring() 分別是接受post,get方法傳來的信息
這里我給大家一個常用的(Access)數據庫連接代碼(Sql的在上面的例子中有哦,我就不寫了):
以后大家只要改換“數據庫”就可以直接用了,
----------
%
'數據庫連接程序conn.asp
strSQL="DBQ="+server.mappath("db/news.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open strSQL
%>
為了保證數據庫的安全呢,我們可以把數據庫的擴展名換成.asp的,也可以是asa,
最好把數據庫的名字弄的復雜點,
在就是數據庫的字段也要弄的復雜點哦,要不然人家用軟件猜解也是很容易的哦
并在頁面中過濾掉非法的字符,這樣能安全點(網站有很多的防SQL注入的代碼哦,也有很多的注入工具)
還是自己把網站弄的安全點吧,
  并且用例子來演示了怎么樣實現整個功能,希望大家能多看看代碼,多動手來打打代碼,還有就是盡量用“記事本”編寫代碼,
不要上來就用一些開發工具和代碼提示的軟件,這樣不利于我們對代碼的理解和記憶。
今天就到這里,多看看我們第二天講的東西那是asp數據管理最重要的地方
明天我們講解asp中的分頁
呵呵 大家明天見哦 晚安!


---------------------------------------------------------------------------------------------------
第四天
利用ASP分頁顯示實例
這里我們要說的就是ASP中比較復雜的分頁技術了,代碼有點多,但是不是很復雜,
大家多看幾便就能理解了,
首先我們先理解一下分頁的原理:
在前幾天我們了解了Recordset對象的以上屬性和方法后,
我們來考慮一下,如何運用 它們來達到我們分頁顯示的目的。
我們可以為PageSize屬性設置一個值,從而指定從記錄組中取出的構成一個頁的行數;
然后通過RecordCount屬性來確定記錄的總數;
再用記錄總數除以PageSize就可得到所顯示的頁面總數;
最后通過AbsolutePage屬性就能完成對指定頁的訪問。
好象很并不復雜呀,下面讓我們來看看程序該如何實現呢?
代碼主要用到Connection、RecordSet這兩個對象,程序中的數據庫為Access庫,
采用OLEDB方式連接庫。
%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source=" _
server.mappath("mdb.mdb")
conn.Open strcon
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from table order by id desc"
rs.Open sql, conn, 1
page=1 ' 設置變量PAGE=1
rs.PageSize = 5 '每頁顯示記錄數
if Not IsEmpty(Request("Page")) then '如果Page已經初始化...
Page = CInt(Request("Page")) '接收Page并化為數字型賦給Page變量
if Page > rs.PageCount then '如果接收的頁數大于總頁數
rs.AbsolutePage = rs.PageCount '設置當前顯示頁等于最后頁
elseif Page = 0 then '如果page小于等于0
Page = 1 '設置PAGE等于第一頁
else
rs.AbsolutePage = Page '如果大于零,顯示當前頁等于接收的頁數 
end if
End if
Page = rs.AbsolutePage 
%>

For i = 1 to rs.PageSize
if rs.EOF then 
Exit For 
end if '利用for next 循環依次讀出記錄
%>
'一個頁中顯示多少條數據Rs.pagesize=5,
把5改為你想顯示的記錄數.比如說
改為10.那么每頁就是顯示10頁.還需要修改的是select語句.就是你要檢索的數據庫了.
也就是說放到任何一個系統中上面的代碼只需很小的改動都可以直接拿過來用.
然后:就是要循環讀出記錄的顯示內容了..............比如

table width=50 border=1 align=center>tr>TD>% =rs("內容") %>/td>/tr>/table>%rs.MoveNextnext%>
  當然也可以改為response.write輸出.
  最后,添加"下一頁,上一頁"的鏈接:

%if request("page")>1 then%>a Href="test.asp?Page=% = 1%>">首頁/a> a Href="test.asp?Page=% =request("page") -1 %>">上一
頁/a>%end if %>%if request("page")>rs.pagecount then %>a Href="test.asp?Page=% =request("page") + 1%>">下一頁/a> a 
Href="test.asp?Page=% = rs.PageCount%>">尾頁/a> % end if %>
  上面的代碼只管復制粘貼.只需把"page.asp"改成你自己的文件名就可以了。
隨便把這段代碼放在什么地方?就是你想讓它出現下一頁下一頁鏈接的地方吧.
  最后.關閉記錄集釋放資源:

rs.close 
Set rs = Nothing
conn.close 
set conn=nothing 
%>
--------------------------------------------------------------------------------
要克服最后一頁中的"下一頁"仍處于連接狀態有一個辦法.就是把程序中稍加改動如下:
%if request("page")>rs.pagecount then %>
a Href="test.asp?Page=% =request("page") + 1%>">下一頁/a> 
% else response.write"下一頁"%>
就是此時把"下一頁"設置成非連接狀態

For i = 1 to rs.PageSize
if rs.EOF then 
Exit For 
end if '利用for next 循環依次讀出記錄
使用的是Do while。
分頁代碼的示例:::
-----------------------------------------------------------------------------------
%
db="數據地址.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conns="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="  Server.MapPath(""db"")
conn.Open conns
Set rs = Server.CreateObject("ADODB.Recordset")
sql="Select * from 表名 order by id desc"
rs.open sql,conn,1,1
if rs.eof then
response.write("沒有記錄")
else
Page=Int(Abs(Request("page")))
IF not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Then page=1
rs.pagesize = 10 '每頁顯示記錄數
total = rs.RecordCount
mp = rs.pagesize
rs.absolutepage = page
i=0:k=0
do while not rs.eof and mp>0:k=k+1
response.write("顯示第"rs("id")"條記錄")
i=i+1
mp=mp-1
rs.movenext
loop
if page>rs.pagecount then Response.redirect("index.asp?page="rs.pagecount)
if page>1 then
response.Write("a href='index.asp?page=1' title='首頁'>首頁/a>")
response.Write(" a href='index.asp?page="page-1"' title='上一頁'>上一頁/a> ")
end if
response.Write("第"page"/"rs.pagecount"頁 共"total"條記錄 本頁顯示第"(page-1)*rs.pagesize+1"條到第"(page-1)
*rs.pagesize+k"條 ")
if pagers.pagecount then
response.Write("a href='index.asp?page="page+1"' title='下一頁'>下一頁/a>")
response.Write(" a href='index.asp?page="rs.pagecount"' title='尾頁'>尾頁/a>")
end if
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
這樣一個分頁的程序就算是做好了,這個程序非常簡單而且便于理解,是個學習的好例子。
大家在做一個程序前應該多想想怎么樣實現這個功能,然后在動手去寫這個代碼,
這樣才能做到胸有成竹。
呵呵,有時候學點東西真的很不爽哦,
又快到新的一天了
明天我們粗率的講解一下ASP的組件,這樣asp的精華我們也就全部講完了,
以后的學習過程就要靠我們自己努力了,
最好的學習方法就是多看示例,呵呵
美好的明天一定會來的~~~~~~~~~~~~~~~~~~~blog.91time.com

----------------------------------------------------------------------------------------------------------------
第五天

今天我們來說說ASP組件,
asp的組件的功能是十分強大的,今天我們就來簡單的說說
要用asp組件就要創建asp組件
在一個asp頁面中創建asp組件,需要使用server內置對象的createobject的方法,
我們來看例子:
%
Set JMail = Server.CreateObject("JMail.Message") 
%>
上面我們創建了JMail組件對象的示例,并付值給JMail
有的asp組件還要求注冊的哦,而且,每個asp組件都有自己屬性和方法,
這個就要大家自己平時多看看了哦
用什么組件就多了解那個組件吧
呵呵
下面我們用現在常用的Jmail組件來詳細說明組件的用法:
在Asp程序中用Jmail發郵件的比較多,主要是因為多數虛擬主機支持他,其它的支持的較少。下面是一
個Jmail發郵件的例子代碼:
如果您在自己的機器上試,請下載Jmail.dll,下載解壓后,雙擊Setup.bat 即可完成安裝!
%
On error resume next
Dim JMail, contentId
Set JMail = Server.CreateObject("JMail.Message") 
JMail.Charset = "gb2312" ' 郵件字符集,默認為"US-ASCII"
' JMail.ISOEncodeHeaders = False ' 是否進行ISO編碼,默認為True
' 發送者信息(可用變量方式賦值)
JMail.From = "email@net118.com" ' 發送者地址
JMail.FromName = "XX" ' 發送者姓名
JMail.Subject = "郵件主題" ' 郵件主題
' 身份驗證
JMail.MailServerUserName = "myusername" ' 身份驗證的用戶名
JMail.MailServerPassword = "mypassword" ' 身份驗證的密碼
' 設置優先級,范圍從1到5,越大的優先級越高,3為普通
JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
' 加入一個收件人【變量email:收件人地址】可以同一語句重復加入多個
JMail.AddRecipient("webmaster@net118.com")
' 加入附件【變量20051027171159.htm:附件文件的絕對地址,確保用戶IUSR_機器名有訪問的權限】
' 【參數設置是(True)否(False)為Inline方式】
'contentId = JMail.AddAttachment (Server.MapPath("jmail.asp"), True)
' 郵件主體(HTML(注意信件內鏈接附件的方式))
JMail.HTMLBody = "html>head>META content=zh-cn http-equiv=Content-Language>meta http-
equiv=""Content-Type"" content=""text/html; charset=gb2312"">style type=text/css>A:link { 
FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #000000}A:visited {FONT-SIZE: 9pt; TEXT-
DECORATION: none; color: #666666}A:hover {COLOR: #ff6600; FONT-SIZE: 9pt; TEXT-DECORATION: 
underline}BODY {FONT-SIZE: 9pt} -->/style>/head>body>font color=red>郵件正文
/font>br>font color=green>郵件正文/font>br>b>郵件正文/b>/body>/html>"
' 郵件主體(文本部分)
JMail.Body = "我們的郵件采用了HTML格式,但是您的郵件查看軟件可能不支持。。。郵件正文,郵件正
文,郵件正文"
' 發送【調用格式:objJMail.Send([username:password@]SMTPServerAddress[:Port])】
JMail.Send("smtp.163.com")
' 關閉并清除對象
JMail.Close()
Set JMail = Nothing
if err.number>0 then
 response.write "發送發送失敗!"
else
 response.write "郵件發送成功!"
end if
%>
如果想要Jmail的詳細方法就來我的博客看看吧!http://blog.91time.com
呵呵 這樣就可以用jmail來發郵件了
能發郵件的組件還有 Cdonts組件等等,
asp 的功能遠遠不只這些,象用asp的fso(文件系統組件)等等,很多強大的功能都等我們去學習,
五天搞定ASP就是給出學的朋友領條路,
這五天說的都是ASP的精華,大家有空多看看,就能理解了,
謝謝大家的支持,
如果有什么問題請來我的博客http://blog.91time.com
※※※※※呵呵 ,
如果那個高手看到哥們有寫錯的地方請指出,
我一定改正,※※※※※※※※※※

標簽:遼陽 孝感 馬鞍山 平頂山 朝陽 四平 湖北 防城港

巨人網絡通訊聲明:本文標題《5天學會asp》,本文關鍵詞  5天,學會,asp,5天,學會,asp,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《5天學會asp》相關的同類信息!
  • 本頁收集關于5天學會asp的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    色欧美88888久久久久久影院| www.久久久久久久久| 久久综合色天天久久综合图片| 成年人午夜久久久| 国产a级毛片一区| 国产另类ts人妖一区二区| 五月天精品一区二区三区| 亚洲综合一区二区精品导航| 亚洲日本在线看| 中文字幕在线播放不卡一区| 国产精品九色蝌蚪自拍| 亚洲日韩欧美一区二区在线| 国产一区二区三区在线观看精品| 久久精品99国产精品日本| 免费人成精品欧美精品| 美女高潮久久久| 高潮精品一区videoshd| 欧美白人最猛性xxxxx69交| 日韩美一区二区三区| 亚洲精品一区二区三区精华液 | 国产伦精品一区二区三区免费迷| 欧美亚洲综合久久| 欧美日韩亚洲不卡| 久久视频一区二区| 久久精品国产999大香线蕉| 4438x成人网最大色成网站| 欧美一区二区三区男人的天堂| 久久综合久久久久88| 国内精品久久久久影院一蜜桃| 成人高清av在线| 国产欧美一区二区精品久导航| 亚洲欧洲在线观看av| 成人高清伦理免费影院在线观看| 久久精品视频在线看| 亚洲黄色免费网站| 久久疯狂做爰流白浆xx| 欧美不卡一区二区三区四区| 美女视频网站久久| 欧美videossexotv100| 久久成人18免费观看| 久久网站最新地址| 国产精品亚洲专一区二区三区| 久久综合色婷婷| 成人久久18免费网站麻豆| 在线亚洲人成电影网站色www| 欧美日韩国产大片| 国产精品福利电影一区二区三区四区| 国产成人在线看| 91精选在线观看| 久草在线在线精品观看| 91麻豆国产在线观看| 久久婷婷色综合| eeuss鲁片一区二区三区| 亚洲精品高清在线| 欧美高清视频在线高清观看mv色露露十八| 中文字幕不卡在线播放| 日本不卡视频在线| 国产精品午夜在线观看| 韩国三级在线一区| 亚洲欧美经典视频| 成人激情午夜影院| 亚洲一区在线视频观看| 精品美女一区二区三区| 成人av资源下载| 日韩电影免费在线看| 欧美日韩一级大片网址| 国产精品77777竹菊影视小说| 中文字幕一区二区三区四区不卡| 欧美在线看片a免费观看| 狠狠色综合日日| 一区二区在线电影| 久久久三级国产网站| 国产在线国偷精品产拍免费yy| 成人欧美一区二区三区| 91精品国产全国免费观看| 9i看片成人免费高清| 日本不卡高清视频| 亚洲美腿欧美偷拍| 国产视频一区二区在线观看| 欧美日韩黄视频| 成人福利在线看| 久久精品免费观看| 亚洲卡通动漫在线| 亚洲国产精华液网站w| 91精品久久久久久久久99蜜臂| 成人一级片在线观看| 日韩精品免费视频人成| 精品国产乱码久久久久久夜甘婷婷| 成人性视频免费网站| 美女视频一区在线观看| 亚洲欧洲成人自拍| 国产亚洲1区2区3区| 欧美精品123区| 欧美亚洲一区二区在线| 成人综合在线视频| 国产乱码精品一区二区三区av| 性做久久久久久久免费看| 91精品国产综合久久国产大片| 91视频在线观看免费| 粉嫩蜜臀av国产精品网站| 精品一区二区日韩| 免费观看久久久4p| 午夜精品123| 亚洲成人av一区二区三区| 一区二区三区在线观看视频| 欧美日韩日日摸| 91老师国产黑色丝袜在线| 国产91精品欧美| 国产精品18久久久久久vr| 国产一区二区三区黄视频| 久久爱另类一区二区小说| 麻豆成人久久精品二区三区小说| 亚洲成人中文在线| 亚洲成人综合网站| 日韩精品成人一区二区在线| 三级不卡在线观看| 久久电影国产免费久久电影 | 在线观看91精品国产入口| av资源网一区| 99精品视频在线播放观看| 日韩激情一二三区| 视频一区二区欧美| 蜜臀av性久久久久蜜臀av麻豆| 老色鬼精品视频在线观看播放| 视频在线在亚洲| 看电视剧不卡顿的网站| 国产毛片精品视频| 91一区一区三区| 欧美日韩视频第一区| 91精品国产综合久久福利软件| 欧美成人精精品一区二区频| 国产亚洲欧美中文| 国产精品久久夜| 一区二区三区波多野结衣在线观看 | 大桥未久av一区二区三区中文| 不卡在线视频中文字幕| 色综合久久88色综合天天免费| 在线亚洲人成电影网站色www| 7777精品伊人久久久大香线蕉超级流畅| 欧美年轻男男videosbes| 精品国产免费一区二区三区四区| 国产三级一区二区| 亚洲精品视频在线观看免费| 无码av免费一区二区三区试看| 国产中文字幕精品| 91丨九色丨黑人外教| 91超碰这里只有精品国产| 欧美mv日韩mv国产网站| 亚洲欧美中日韩| 视频一区视频二区中文| 成人亚洲精品久久久久软件| 欧美色区777第一页| 久久你懂得1024| 亚洲高清不卡在线观看| 自拍偷拍国产精品| 青青草国产精品亚洲专区无| 福利一区二区在线| 91精品一区二区三区久久久久久| 国产精品丝袜黑色高跟| 日韩福利视频网| 色综合亚洲欧洲| 99久久99久久久精品齐齐| 日韩三级高清在线| 7777精品伊人久久久大香线蕉| 亚洲精品在线免费观看视频| 亚洲一区二区三区不卡国产欧美| 精品亚洲成a人在线观看| 欧洲激情一区二区| 国产精品欧美极品| 国产一区二区三区日韩 | 精品粉嫩aⅴ一区二区三区四区| 亚洲三级免费电影| 国产99精品国产| 精品国产伦一区二区三区观看方式| 夜色激情一区二区| 99久久99久久精品免费看蜜桃| 亚洲精品在线观看网站| 日韩国产欧美三级| 色久综合一二码| 国产精品电影一区二区| 国产剧情一区二区三区| 欧美午夜精品一区二区三区| 亚洲人成在线观看一区二区| 韩国精品免费视频| 日韩欧美激情在线| 五月天精品一区二区三区| 欧美专区亚洲专区| 亚洲乱码日产精品bd| 成人av电影在线网| 国产亚洲欧美日韩俺去了| 国产一区久久久| 久久久一区二区| 国产成人aaaa| 国产欧美一区二区在线| 国产乱国产乱300精品| 精品久久久三级丝袜| 国产真实乱子伦精品视频| 久久综合九色综合97_久久久| 美美哒免费高清在线观看视频一区二区 | 日韩欧美一级特黄在线播放|