請參考來源:asp_ajax_database
---
讚!! asp ajax 真是好的範例
2014年10月5日 星期日
2014年4月14日 星期一
asp 防止連點
<script>
var flag=false;
function ckSubmit()
{
if (flag)
{
alert("Error");
return false;
}
flag=true;
return true;
}
</script>
onsubmit="return ckSubmit()"
2014年4月13日 星期日
幾行Asp代碼實現防止表單重複提交
參考引用來源
--
在很多情況下都需要防止相同的表單被多次提交,很多人的實現方法都比較複雜(代碼數量超過幾
十行!!)下面提供一種只需使用幾行代碼的方法,輕鬆地實現了防止用戶刷新多次提交表單和使用後
退鈕重複多次提交表單。
表單文件formtest.asp
<%
Randomize '初始代隨機數種子
num1=rnd() '產生隨機數num1
num1=int(26*num1)+65 '修改num1的範圍以使其是A-Z範圍的Ascii碼,以防表單名出錯
session("antry")="test"&chr(num1) '產生隨機字符串
%>
<form name="test" action="testact.asp" method="post">
你的名字:<input type='text' name='' size=30> '注意本行中使用了隨機表單項名
<input type='submit' value='提交'>
</form>
表單處理程序testact.asp
<%
teststr=request.form(session("antry"))
if teststr="" then
response.write "沒有填寫姓名或重複提交"
'由於用戶沒有填寫名字,或表單被重複提交(標誌為session("antry")為空)引起
else
response.write teststr
session("antry")="" '提交成功,清空session("antry"),以防重複提交!!
end if
%>
--
在很多情況下都需要防止相同的表單被多次提交,很多人的實現方法都比較複雜(代碼數量超過幾
十行!!)下面提供一種只需使用幾行代碼的方法,輕鬆地實現了防止用戶刷新多次提交表單和使用後
退鈕重複多次提交表單。
表單文件formtest.asp
<%
Randomize '初始代隨機數種子
num1=rnd() '產生隨機數num1
num1=int(26*num1)+65 '修改num1的範圍以使其是A-Z範圍的Ascii碼,以防表單名出錯
session("antry")="test"&chr(num1) '產生隨機字符串
%>
<form name="test" action="testact.asp" method="post">
你的名字:<input type='text' name='' size=30> '注意本行中使用了隨機表單項名
<input type='submit' value='提交'>
</form>
表單處理程序testact.asp
<%
teststr=request.form(session("antry"))
if teststr="" then
response.write "沒有填寫姓名或重複提交"
'由於用戶沒有填寫名字,或表單被重複提交(標誌為session("antry")為空)引起
else
response.write teststr
session("antry")="" '提交成功,清空session("antry"),以防重複提交!!
end if
%>
2013年8月16日 星期五
2013年6月14日 星期五
2013年5月30日 星期四
2013年3月19日 星期二
解決 IIS6 上傳檔案大小200kb的限制
引用來源
--
這邊有一種解決方式
http://www.hkcode.com/programming/539
IIS 預設上傳限制為 200kb,要修改這個限制,方法如下:
1. 開啟 Internet Information Services Manager (IIS)。 (中文版好像叫 IIS 管理員)
2. 在 server 上面 right click 及選擇 Properties
3. 選取 "Enable Direct Metabase Edit" 並按 OK
4. 開啟 Notepad,開啟以下檔案
%Windows dir%\System 32\Inetsrv\MetaBase.xml
5. 找出字串 AspMaxRequestEntityAllowed,預設是 204800,即 200kb,例如想改為 5mb 的話,應改為:
預設為 AspMaxRequestEntityAllowed = "52428800"
6. 完成後儲存 MetaBase.xml 便完成,不須要重新啟動 IIS。
7. 回到 Internet Information Services Manager (IIS),移除 "Enable Direct Metabase Edit" 的選項。
我比較喜歡這樣子的解決方式
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC//AspMaxRequestEntityAllowed 52428800
--
這邊有一種解決方式
http://www.hkcode.com/programming/539
IIS 預設上傳限制為 200kb,要修改這個限制,方法如下:
1. 開啟 Internet Information Services Manager (IIS)。 (中文版好像叫 IIS 管理員)
2. 在 server 上面 right click 及選擇 Properties
3. 選取 "Enable Direct Metabase Edit" 並按 OK
4. 開啟 Notepad,開啟以下檔案
%Windows dir%\System 32\Inetsrv\MetaBase.xml
5. 找出字串 AspMaxRequestEntityAllowed,預設是 204800,即 200kb,例如想改為 5mb 的話,應改為:
預設為 AspMaxRequestEntityAllowed = "52428800"
6. 完成後儲存 MetaBase.xml 便完成,不須要重新啟動 IIS。
7. 回到 Internet Information Services Manager (IIS),移除 "Enable Direct Metabase Edit" 的選項。
我比較喜歡這樣子的解決方式
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/
2013年3月12日 星期二
2013年2月14日 星期四
2013年2月6日 星期三
2013年2月5日 星期二
註冊ASP.NET (.NET Framework) 到 IIS 的網頁服務延伸
參考來源
--
IIS ASP.NET 設定
C:\WINDOWS> cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> aspnet_regiis.exe -i
Start installing
ASP.NET (1.1.4322). ..................... Finished installing ASP.NET (1.1.4322).
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> regsvr32 aspnet_isapi.dll
--
IIS ASP.NET 設定
C:\WINDOWS> cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> aspnet_regiis.exe -i
Start installing
ASP.NET (1.1.4322). ..................... Finished installing ASP.NET (1.1.4322).
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> regsvr32 aspnet_isapi.dll
2013年2月4日 星期一
2013年2月3日 星期日
asp iNotes.Upload 註冊問題,到底怎回事..help me
錯誤類型:
伺服器物件, ASP 0177 (0x800401F3)
無效的類別字串
/ssave.asp, line 8
Set FileObj=Server.CreateObject("iNotes.Upload")
完整:
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '800401f3'
[Microsoft][ODBC Microsoft Access Driver]一般錯誤 無法開啟登錄鍵 'Temporary (volatile) Jet DSN for process 0x4b0 Thread 0xc74 DBC 0x1d53024 Jet'。
/ssave.asp, 列8
--
我測過 win7 / 64 , 32 & winXP 都是一樣的錯誤訊息...
到底是什麼問題....
查了一堆網路討論,都是註冊 ; 可是我都註冊了呀...
到底原因在哪??
--
2013/2/6 處理情況:
1.確定無法在 64位元的 OS 下運作
2.在 XP 要看運氣 , 並不是每一台都可正常運作
--
最後嘗試掛到 windows 2003 下,即可正常運作 (有爬網查過,最正規還是要掛到 2003 )
底下為掛到 2003 後,的操作記錄:
1.把 iNotesUpload.dll copy c:\windows\system32 下
2.regsvr32 c:\windows\system32\iNotesUpload.dll
3.把 有 *.mdb 開權限
4.把所有底下 \ 目錄都開權限
5.在網頁內的 \ iNotesUpload.dll <--- everyone="" nbsp="" p="">--->
2013年1月28日 星期一
win7 安裝 IIS 7 (ASP/ASP.Net 等)
參考1:Windows 7安裝IIS 7及設定ASP (優)
參考2: Win7安裝IIS伺服器與asp.net架站設定教學 (次)
參考3:全裝型
當 Win7 / 64 bit 要跑 ASP (access) 時會遇到:
win7 [Microsoft][ODBC 驅動程式管理員] 找不到資料來源名稱且未指定預設的驅動程式
請參考此篇設定圖:怎樣在 Win 7 - 64 bit 改成 x86 連到 ACCESS 2010
以上設定好後, asp 總算ok了
但卻遇到 skype 會佔用 80 port =.= 實在是..
只好先把skype 關掉,先把iis7 啟動起來 ; 再啟動 skype 就好
或是把 skype 的 port 取消掉 請參考篇設定:變更 Skype 佔用 80 Port (預設值)
參考2: Win7安裝IIS伺服器與asp.net架站設定教學 (次)
參考3:全裝型
當 Win7 / 64 bit 要跑 ASP (access) 時會遇到:
win7 [Microsoft][ODBC 驅動程式管理員] 找不到資料來源名稱且未指定預設的驅動程式
請參考此篇設定圖:怎樣在 Win 7 - 64 bit 改成 x86 連到 ACCESS 2010
以上設定好後, asp 總算ok了
但卻遇到 skype 會佔用 80 port =.= 實在是..
只好先把skype 關掉,先把iis7 啟動起來 ; 再啟動 skype 就好
或是把 skype 的 port 取消掉 請參考篇設定:變更 Skype 佔用 80 Port (預設值)
2012年9月11日 星期二
2011年4月9日 星期六
2011年3月27日 星期日
2011年3月7日 星期一
asp中的rs.open於conn.execute的區別
rs.open sql,conn:如果sql是delete,update,insert則會返回一個關閉的記錄集,在使用過程中不要來個rs.close在文件最後再寫rs.close
中間可以來多個記錄集rs1.open sql1,conn,最後一塊關閉記錄集:rs.close rs1.close
conn.execute(sql) 如果sql是delete,update,insert則會返回一個關閉的記錄集,在使用過程中不要來個rs.close在文件最後再寫rs.close
中間可以來多個記錄集rs1.open sql1,conn,最後一塊關閉記錄集:rs.close rs1.close.
如果sql是update,insert,delete則應該使用conn.execute(sql)也可以不要括號conn.execute sql
如果sql是select語句則應該使用set rs=conn.execute(sql)括號一定要,不能省略:這是因為vbscript的特性,帶返回值
的調用必須加括號,不帶返回值的調用可以不要括號。
注意:不管是rs.open sql,conn還是conn.execute(sql) [這裡的SQL是delete,update,insert]執行以後都會返回一個關閉的記錄集
也就是說如果sql是插入,更新,刪除語句,那麼set rs=conn.execute(sql)中的RS就沒什麼意義。
1.conn.execute
sql="select * from admin where username='xiaozhu'"
set rs=conn.execute(sql)
執行完以後自動關閉記錄集
最後只需要關閉連接就可以了
conn.close
set conn=nothing
2.rs.open
set rs=server.createobject("adodb.recordset")
sql="select * from admin where username='xiaozhu'"
rs.open sql,conn,1,1
可以自己設定一些參數,即鎖定和游標的移動方式
最後要關閉記錄集和連接
rs.close
set rs=nothing
conn.close
set conn=nothing
3.command.execute
sql="select * from admin where username='xiaozhu'"
set rs=command.execute(sql)
*****************************************************************************
1.
set rs=conn.execute("如果是select語句") 得到的rs.recordcount=-1
rs.open sql,conn("sql為select語句") 得到的rs.recordcount為正常的記錄數
2.
rs.open是打開數據庫 conn.execute 是執行SQL指令
set rs=conn.execute(insert,update,delete)返回一個關閉了的記錄集
set rs=conn.execute(select)返回一個沒有關閉的記錄集
3.
CONN.EXECUTE(SQL,RowsAffected,C)
參數含義:
SQL的值可以是SQL語句、表名、存儲過程名,也可以是數據提供者所能接受的任意字符串。為了提高性能,最好為C參數指定合適的值
可選參數RowsAffected將返回INSERT、UPDATE或DELETE查詢執行以後所影響的數目。這些查詢會返回一個關閉的Recordset對象。
一個SELECT查詢將返回RowsAffected值為-1並且返回帶有一行或多行內容的打開的Recordset。
4.
conn.execute sql適合於不需返回recordset對像時使用,比如下面的代碼:
sql="delete from enews where id="&cstr(id)
conn.execute sql
如果需要返回recordset對象,則使用如下代碼:
sql="select from enews where id="&cstr(id)
set rs = conn.execute(sql)
如果去掉execute(sql)這兒的括號(即為set rs = conn.execute sql),就會提示「語句未結束」這樣的錯誤提示,我翻看了一下語法格式,發現有二種格式,詳解如下:
格式一:Connection對像名.Execute(SQL指令).
格式二:Connection對像名.Execute(數據表名)。
中間可以來多個記錄集rs1.open sql1,conn,最後一塊關閉記錄集:rs.close rs1.close
conn.execute(sql) 如果sql是delete,update,insert則會返回一個關閉的記錄集,在使用過程中不要來個rs.close在文件最後再寫rs.close
中間可以來多個記錄集rs1.open sql1,conn,最後一塊關閉記錄集:rs.close rs1.close.
如果sql是update,insert,delete則應該使用conn.execute(sql)也可以不要括號conn.execute sql
如果sql是select語句則應該使用set rs=conn.execute(sql)括號一定要,不能省略:這是因為vbscript的特性,帶返回值
的調用必須加括號,不帶返回值的調用可以不要括號。
注意:不管是rs.open sql,conn還是conn.execute(sql) [這裡的SQL是delete,update,insert]執行以後都會返回一個關閉的記錄集
也就是說如果sql是插入,更新,刪除語句,那麼set rs=conn.execute(sql)中的RS就沒什麼意義。
1.conn.execute
sql="select * from admin where username='xiaozhu'"
set rs=conn.execute(sql)
執行完以後自動關閉記錄集
最後只需要關閉連接就可以了
conn.close
set conn=nothing
2.rs.open
set rs=server.createobject("adodb.recordset")
sql="select * from admin where username='xiaozhu'"
rs.open sql,conn,1,1
可以自己設定一些參數,即鎖定和游標的移動方式
最後要關閉記錄集和連接
rs.close
set rs=nothing
conn.close
set conn=nothing
3.command.execute
sql="select * from admin where username='xiaozhu'"
set rs=command.execute(sql)
*****************************************************************************
1.
set rs=conn.execute("如果是select語句") 得到的rs.recordcount=-1
rs.open sql,conn("sql為select語句") 得到的rs.recordcount為正常的記錄數
2.
rs.open是打開數據庫 conn.execute 是執行SQL指令
set rs=conn.execute(insert,update,delete)返回一個關閉了的記錄集
set rs=conn.execute(select)返回一個沒有關閉的記錄集
3.
CONN.EXECUTE(SQL,RowsAffected,C)
參數含義:
SQL的值可以是SQL語句、表名、存儲過程名,也可以是數據提供者所能接受的任意字符串。為了提高性能,最好為C參數指定合適的值
可選參數RowsAffected將返回INSERT、UPDATE或DELETE查詢執行以後所影響的數目。這些查詢會返回一個關閉的Recordset對象。
一個SELECT查詢將返回RowsAffected值為-1並且返回帶有一行或多行內容的打開的Recordset。
4.
conn.execute sql適合於不需返回recordset對像時使用,比如下面的代碼:
sql="delete from enews where id="&cstr(id)
conn.execute sql
如果需要返回recordset對象,則使用如下代碼:
sql="select from enews where id="&cstr(id)
set rs = conn.execute(sql)
如果去掉execute(sql)這兒的括號(即為set rs = conn.execute sql),就會提示「語句未結束」這樣的錯誤提示,我翻看了一下語法格式,發現有二種格式,詳解如下:
格式一:Connection對像名.Execute(SQL指令).
格式二:Connection對像名.Execute(數據表名)。
訂閱:
文章 (Atom)