ASP課堂上學到的程序設計,都是按照語法和對象來一點一點的學習的,到最後編程的時候,新手根本想不出來要怎麼來組合才能完成一個模塊,下面把這些語法按照程序員常用的模塊方式組合起來,請大家按照模塊來記憶,然後按照模塊來應用,不一定要一個一個字母的背下來,關鍵是用到這些模塊的時候能准確的,拿出來,安上去!
注意下面的標點符號,全部都為英文中的半角符號,如果寫成了全角的就一定運行不起來了,切忌切忌……
1、常用寫法
(1)ASP開始結束符語法:<% %> 文件後綴.asp
(2)Request.form("title") ’獲取表單中的一個輸入框name叫title的值
(3)Request.querystring("title") ’獲取連接中的一個參數title=後面的值
(4)dim str
str="我愛你"
response.write(str) ’向屏幕輸出
(5) response.write "ok 程序運行到這裡了!"
(6) sql="select * from news"
response.write sql
’調試和查看sql語句寫法是否正確的語句常用到
(7)Response.Redirect("login.asp") ’跳轉到另外一個頁面
(8)response.redirect("admin.asp") ’轉到後台
(9)Response.end ’程序輸出截至,不顯示該條語句下面的內容了
(10)Response.Write("<script>alert(’???!’)</script>")’彈出提示窗口
2、判斷語句
(1)判斷表單傳來的用戶名和密碼是否正確,並提示
If request("username")="admin" then
Response.write"恭喜,你已經登錄成功"
Else
Response.write"對不起,您輸入的用戶名錯誤,請返回重輸入"
End if
(2)同時判定用戶名和密碼都正確就轉入到後台,否則退回到從新輸入頁面
If request("name")="admin" and request("pass")="admin" then
Response.redirect"admin.asp"
Else
Response.redirect"login.asp"
End if
(3)變量值和字符串值合起來用&
a="我"
b="愛"
c="你"
response.write a&b&c&"媽媽"
3、循環語句:循環顯示6條數據庫中的記錄
(1)寫法1:
do while not rs.eof
response.write "<br><font color=#000000>"&rs("title")&"</font><br>"
rs.movenext
loop
(2)寫法二:
for n=1 to 6
response.write rs("title")&"<br>"
if rs.eof then
exit for ’跳出for循環
else
rs.movenext ’記錄集下移一條
end if
next
4、常用變量轉換函數
Now() 函數返回系統時間
Date() 函數返回當前系統日期.
CStr(int) 函數轉化一個表達式為字符串
CInt(string) 將一個表達式轉化為數字類型
Trim(request("username")) 函數去掉字符串左右的空格
Left(rs("title"),10)&"..." 函數返回字符串左邊第10個字符以前的字符(含第length個字符),一般在限制新聞標題的顯示長度的時候用
Len(string) 函數返回字符串的長度. 中文字符長度也計為一
request.serverVariables("remote_host")’取得來訪問的IP
mid(str,起始字符,[讀取長度]):截取字符串中間子字符串
right(str,nlen):從右邊起截取nlen長度子字符串
Lcase(str):字符串轉成小寫
Ucase(str):字符串轉成大寫
Ltrim(str):去除字符串左側空格
Rtrim(str):去除字符串右側空格
replace(str,查找字符串,替代字符串,[起始字符,替代次數,比較方法]):
替換字符串
注:默認值:起始字符 1;替代次數 不限;比較方法 區分大小寫(0)
InStr([起始字符,]str,查找字符串[,比較方法]):檢測是否包含子字符串 可選參數需同時選 返回起始位置
5、Access數據庫連接代碼
(1)方法一:
db="mydata.mdb" ’如果放在目錄中,就要寫明"database/mydata.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
cServer.MapPath(db)
conn.Open connstr
(2)方法二:
’如果你的服務器采用較老版本Access驅動,請用下面連接方法
db="mydata.mdb" ’如果放在目錄中,就要寫明"database/mydata.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
c & Server.MapPath(db)
conn.Open connstr
6、標准的用Sql語句和asp操作數據的常用寫法
包括取全部記錄
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news"
Rs.Open SqlStr,conn,1,1 ’運行sql語句,把數據提出到rs對象中
選取幾條數據
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select top 6 * from news"
Rs.Open SqlStr,conn,1,1 ’運行sql語句,把6條數據提出到rs對象中
選取一條指定表中id字段數值的數據
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news where id="&request("id")
Rs.Open SqlStr,conn,1,1 ’運行sql語句,把6條數據提出到rs對象中
獲取一條表單傳過來的數據,然後加入到一個表當中
dim a,b,c,d
a=request.form("a")
b=request("b")
c=request("c")
d=request("d")
sqlstr100000="insert into huiyuanbiao(yonghuming,mima,wenti,daan) values(’"&a&"’,’"&b&"’,’"&c&"’,’"&d&"’)"
conn.execute sqlstr100000
response.write"恭喜,新數據加入成功!"
修改一條指定表中id字段數值的數據,用表單傳過來的數據替換
dim a,d,e
a=request("id")
d=request.form("d")
e=request.form("e")
sqlstr="update huiyuanbiao set yonghuming=’"&d&"’,mima=’"&e&"’ where id="&a
response.write sqlstr
conn.execute sqlstr
response.write"恭喜,數據修改成功!"
刪除一條指定表中id字段數值的數據
dim a
a=request("delid")
sqlstr="delete from huiyuanbiao where id="&a
conn.execute sqlstr
response.write"恭喜,刪除成功!"
7、用Recordset對象和asp操作數據庫的常用寫法
(1)用sql語句,取出news表中所有的數據放到rs中,按照數據庫默認排序
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news"
Rs.Open SqlStr,conn,1,1
(2)取出news表中前6條數據放到rs中,按照數據庫默認排序方式
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select top 6 * from news"
Rs.Open SqlStr,conn,1,1
(3)循環顯示6條rs對象中存在的數據,列表顯示
不帶連接的寫法
for n=1 to 6
response.write rs("title")&"<br>"
if rs.eof then
exit for
else
rs.movenext
end if
next
帶連接的寫法
for n=1 to 6
response.write "<a href=show.asp?id=rs("id")>"& left(rs("title"),20)&"</a><br>"
if rs.eof then
exit for
else
rs.movenext
end if
next
(4)向數據庫添加一條數據代碼
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news"
Rs.Open SqlStr,conn,1,3’注意這裡的1,3代表可以寫入的打開數據表
Rs.addnew
Rs("title")=trim(request.form("title"))
Rs("neirong")=request.form("neirong")
Rs("date")=now()
rs.update ’真正寫入數據庫
(5)修改一條記錄的代碼,通過(2)中的連接傳遞過來了id數值
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news where id="&request("id")
Rs.Open SqlStr,conn,1,3 ’注意這裡的1,3代表可以寫入的打開數據表
Rs("title")=trim(request("title"))
Rs("neirong")=request("neirong")
Rs("date")=now()
rs.update ’真正寫入數據庫
(6)刪除數據庫中一條記錄,通過連接傳遞過來了數據得id數值
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news where id="&request("id")
Rs.Open SqlStr,conn,1,3 ’注意這裡的1,3代表可以寫入的打開數據表
rs.delete ’刪除該條數據
8、當點擊按鈕時候表單帶著的數據傳送到哪個文件,在哪裡指定?
<form method="post" action="addsave.asp">
<input type="text" name="a">
<input type="text" name="b">
<input type="submit" name="Submit" value="提交">
</form>
9、表單提交來的數據接收並顯示到屏幕上的代碼
response.write request.form("a")
response.write now()
response.write trim(request.form("b"))
10、利用Application對象作計數器的語法
在網頁的頭部加入
Application.Lock
Application("counter") = Application("counter") + 1
Application.UnLock
在需要顯示計數內容的網頁的地方,加入下面的語句
response.write Application("counter")