記錄的一些ASP學習筆記

來源:互聯網
上載者:User
筆記 用application和session做的簡單計數器
<%
if isempty(session("conn")) then
application.lock
set counterfile=server.createobject("scripting.filesystemobject")
set temp=counterfile.opentextfile(server.mappath("count.txt"),1,true,false)
num=temp.readline
if num=empty then num=1
application("count")=num
application("count")=application("count")+1
temp.close
end if
%>
<center><h1>訪客人數:<font color=red><%=application("count")%></font></h1>
<%
set counterfile=server.createobject("scripting.filesystemobject")
set temp=counterfile.createtextfile(server.mappath("count.txt"),true,false)
temp.writeline(application("count"))
temp.close
application.unlock
%>

###########################################################################

If Then 程式語句 End if 如
<%
score=request("score")
if not isnumeric(score) then
m="請輸入數字"
elseif score="" then
m="請輸入資料"
elseif score>=60 and score<=100 then
m="及格"
elseif score>100 or score<0 then
m="請輸入0---100之間的數"
else
m="不及格"
end if
%>

cookies:

<%
response.buffer=true ' 因是沒有在伺服器下載資料前就進行了交換,所以用緩衝區來裝下載的資料
var=request.cookies("var")
if var="" then var=empty '因為""不可與數值運算
response.write"開始var="&var&"<br>"
var=var+10
response.write"結束var="&var&"<br>"
response.cookies("var")=var
response.cookies("va").expires="2004/3/31/" '設定有效期間
%>

###########################################################################

稱動、複製、刪除檔案

<%
set fs=server.createobject("scripting.filesystemobject")
source=server.mappath("1/1.txt")
target=server.mappath("1.txt")
on error resume next
fs.movefile source,target 'movefile換在deletefile\copyfile
if err.number=53 then
response.write source&"檔案不存在"
response.end
elseif err.number=70 then
response.write target&"檔案為唯讀或鎖"
response.end
elseif err.nuber<>0 then
response.write"other="&err.number
response.end
end if
%>

##########################################################

讀取常值內容
<%
set fs=server.createobject("scripting.filesystemobject")
file=server.mappath("1/1.txt")
set txt=fs.opentextfile(file,1,true)
if not txt.atendofstream then
line=txt.readline'可換成readall
response.write line&"<br>"
end if
%>

############################################

SERVER & Request]
<%=server.htmlencode("<i>原碼輸出</i>")%>
<%=request.servervariables("local_addr")%>'本地IP
<%=request.servervariables("remote_addr")%>'Client 端IP

串連access資料庫的兩種方法:
1、<% Set CN = Server.CreateObject("ADODB.Connection"
CN.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("message.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
%>
2、<%  Set con = Server.CreateObject("ADODB.Connection")
  DBPath = Server.MapPath("bbs.mdb")
con.Open "provider=microsoft.jet.oledb.4.0;data source="&DBPath
  Set rs=Server.CreateObject("ADODB.Recordset")
%>

##########################################################################

資料表開啟的幾種方法
1、SQL = "Select * From 資料表 Where 主編號=" & request("ID")
RS.Open SQL,con,1,3
2、RS.Open "資料表",con,1,3
3、RS.Open "Select * from student",con,1,3

讀取資料庫資料的方面

1、<%=RS(0).name%> '讀取第一欄的表頭名稱
2、<%=RS(1).value%> '讀取第二欄的裡的內容
3、<%=Rs.Fields(1).Value%> '同上
4、Rs.recordcount '總記錄數
5、Rs.fields.Count '有幾個欄位

###########################################################################
如讀取表中的資料:
<%
Num=0
For Itemline=0 To Rs.recordcount-1 'recordcount-1 不會移出最後一筆記錄
Response.Write "<TR>"
   For I=0 To Rs.fields.Count-1
Response.Write "<TD><input type=text name=" & Num & _
" value=" & Rs(I).Value & "></TR>"
  Response.Write chr(10) '輸出分行符號
    Num=Num+1
Next
   
Response.Write "</TR>"
   Rs.MoveNext
   If Rs.Eof Then Exit For '可省略
Next   
%>

儲存資料檔案
###########################################################################
<%
Dim Item(100) '數組的多少很重要
For I=0 To 100
Item(I)=Request(I)
Next
  Set conobject = Server.CreateObject("ADODB.Connection")
  DBPath = Server.MapPath("exam.mdb")
  conobject.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&DBPath
  Set RS=Server.CreateObject("ADODB.Recordset")
  RS.Open "Select * from first",conobject,1,3
Num=0   
For Itemline=0 To Rs.recordcount-1
For Itemnum=1 To Rs.Fields.Count-1
   Rs.Fields(Itemnum).Value=Item(Num)
  Num=Num+1
rs.update
Next
   Rs.MoveNext
   If Rs.Eof Then Exit For
Next   
Response.Redirect "editexam.asp"

%>

###########################################################################
判斷表單是否填寫完整
1、If name = "" Or email = "" Or subject = "" Or _
textmemo = "" Then
Response.Write "<script>alert('松子說了,不填完就別想留言!');history.go(-1);</script>"
Response.End
End If

增加新資料方法
1、rs.open ""&s&"",con,1,3
rs.addnew
rs("name")=request("name")
rs("depa")=request("depa")
rs.update
%>

##############################################################

常用函數
一、字元類
1、Asc(string)'該數值為參數字串第一個字母的ASCII值如Asc(a)=97
2、Chr(charcode)'將指定的字元碼轉為字元(string) 如chr(97)等於A
3、Len(string)'計算參數中字串的字元數目如 len(ab c)=4
4、Left(字串,指定長度) 如left("123 4",3)=123
5、Right 同上
6、MId(字串,開始字元,指定長度)如mid("123 4",3,1)=1
7、LTrim(字串)'去除字串中的前置空白如Ltrim(" hello“)="hello"
8、RTrim(字串)同上
9、Trim(字串)'去除字串前、後的空白
10、UCase(字串)將字串中所有字元轉換為大寫字元如Ucase("h")="H"
11、Lcase(字串)同上
12、Space(空格數目) 如"hello"&space(1)&"jacky"=hello jacky
13、String(字元數,字元)用來產生一個重複字元組成的字串如string(3,"ab")=aaa'兩個以上字元時只重複第一個
14、Join(來源數組[,分隔字元])
15、Split (來源字串,分隔字串)
16、replace(源字串,源字串中的字元,要變成的字串)
如 a="long" response.write (replace(a,"l","s"))=song
二、數學類
1、Abs(數值)'返回參數值的絕對值,傳回值的類型與參數數實值型別相同。
2、Sgn(數值)判斷參數數值的加號或減號,參數為正數時返回1,負數返回-1,0返回0
3、Sqr(數值)求得數值的平方根,不可為負
4、Hex(數值) 轉化為16進位
5、Oct (數值) 轉化為8進位
三、類別轉換
1、Int(數值) 返回數值的整數部分 如int(3,3)=3
2、Fix(數值)同上,只是int(-3.8)=4 而fix(-3.8)=3
3、Str(數值) 將數值轉換為字串。
4、Format(處理對象[,格式])
5、Year(date)/Month(date)/Day(date)取得年、月、日
6、Hour(time)/Minute(time)/Second(time)
7、WeekdayName(1-7)如weekdayname(1)=星期日
8、MonthName(1-12)如monthname(1)=一月
四、比較子:= 、<>、<、>、<=、>=
五、Not邏輯運算子:And 、Or、Not
六、指定運算子號:=
七、運算子符號:+、*、/、\(整數除法)2\5=0、Mod(除法取餘數)、^乘(次方)5^2=25
八、串拉運算子:& 如abc&efg=abcdefg

從表中刪除一條記錄:
1、<a href=del.asp?ID=<%=RS("id")%> >刪除</a>
2、<%
id=request("id")
Set CN = Server.CreateObject("ADODB.Connection")
CN.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("new.mdb")
Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open "new",CN,1,3
SQL="delete * From new where id="&id
cn.execute sql
response.redirect("index.asp")
%>

###########################################################################
保持文字框格式一致的問題:
<%
function th(str)
str=replace(str,"媽的","MD")
str=replace(str,"靠","KAO")
th=str
end function

function encode(str)
str = replace(str, ">", ">")
str = replace(str, "<", "<")
str = Replace(str, CHR(32), " ")
str = Replace(str, CHR(13), "")
str = Replace(str, CHR(10) & CHR(10), "</P><P>")
str = Replace(str, CHR(10), "<BR>")
encode=str
end function
%>

<%title=request.form("title")
content=request.form("content")%>

文章標題:<%=th(title)%><hr>
文章內容:<%=encode(th(content))%>


###########################################################################
技巧:
1、response.write chr(10)'輸出一個分行符號號
2、本頁的檔案名稱<%=request.servervariables("path_info")%>
3、with response
<%
with response
.write "this"
.write "is"
.write "a"
.write "test"
end with
%>

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。