欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ASP編程技巧大全
ASP編程技巧大全 收藏此頁(yè)到茶秀網(wǎng)摘
作者: 統一教學(xué)網(wǎng)   www.ASPCool.com 時(shí)間:2005-10-23 上午 12:27:11  閱讀次數:1404

     <%
  ‘‘#######以下是一個(gè)類(lèi)文件,下面的注解是調用類(lèi)的方法################################################
  ‘‘# 注意:如果系統不支持建立Scripting.FileSystemObject對象,那么數據庫壓縮功能將無(wú)法使用
  ‘‘# Access 數據庫類(lèi)
  ‘‘# CreateDbFile 建立一個(gè)Access 數據庫文件
  ‘‘# CompactDatabase 壓縮一個(gè)Access 數據庫文件
  ‘‘# 建立對象方法:
  ‘‘# Set a = New DatabaseTools
  ‘‘# by (蕭寒雪) s.f.
  ‘‘#########################################################################################
  
  Class DatabaseTools
  
  Public function CreateDBfile(byVal dbFileName,byVal DbVer,byVal SavePath)
  ‘‘建立數據庫文件
  ‘‘If DbVer is 0 Then Create Access97 dbFile
  ‘‘If DbVer is 1 Then Create Access2000 dbFile
  On error resume Next
  If Right(SavePath,1)<>"\" Or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & "\"
  If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))
  If DbExists(SavePath & dbFileName) Then
  Response.Write ("對不起,該數據庫已經(jīng)存在!")
  CreateDBfile = False
  Else
  Dim Ca
  Set Ca = Server.CreateObject("ADOX.Catalog")
  If Err.number<>0 Then
  Response.Write ("無(wú)法建立,請檢查錯誤信息
  " & Err.number & "
  " & Err.Description)
  Err.Clear
  Exit function
  End If
  If DbVer=0 Then
  call Ca.Create("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName)
  Else
  call Ca.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath & dbFileName)
  End If
  Set Ca = Nothing
  CreateDBfile = True
  End If
  End function
  
  Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)
  ‘‘壓縮數據庫文件
  ‘‘0 為access 97
  ‘‘1 為access 2000
  On Error resume next
  If Right(SavePath,1)<>"\" Or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & "\"
  If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))
  If DbExists(SavePath & dbFileName) Then
  Response.Write ("對不起,該數據庫已經(jīng)存在!")
  CompactDatabase = False
  Else
  Dim Cd
  Set Cd =Server.CreateObject("JRO.JetEngine")
  If Err.number<>0 Then
  Response.Write ("無(wú)法壓縮,請檢查錯誤信息
  " & Err.number & "
  " & Err.Description)
  Err.Clear
  Exit function
  End If
  If DbVer=0 Then
  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data
  Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
  Else
  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
  SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
  SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
  End If
  ‘‘刪除舊的數據庫文件
  call DeleteFile(SavePath & dbFileName)
  ‘‘將壓縮后的數據庫文件還原
  call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)
  Set Cd = False
  CompactDatabase = True
  End If
  end function
  
  Public function DbExists(byVal dbPath)
  ‘‘查找數據庫文件是否存在
  On Error resume Next
  Dim c
  Set c = Server.CreateObject("ADODB.Connection")
  c.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
  If Err.number<>0 Then
  Err.Clear
  DbExists = false
  else
  DbExists = True
  End If
  set c = nothing
  End function
  
  Public function AppPath()
  ‘‘取當前真實(shí)路徑
  AppPath = Server.MapPath("./")
  End function
  
  Public function AppName()
  ‘‘取當前程序名稱(chēng)
  AppName = Mid(Request.ServerVariables("SCRIPT_NAME"),(InStrRev(Request.ServerVariables("SCRIPT_NAME") ,"/",-1,1))+1,Len(Request.ServerVariables("SCRIPT_NAME")))
  End Function
  
  Public function DeleteFile(filespec)
  ‘‘刪除一個(gè)文件
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  If Err.number<>0 Then
  Response.Write("刪除文件發(fā)生錯誤!請查看錯誤信息
  " & Err.number & "
  " & Err.Description)
  Err.Clear
  DeleteFile = False
  End If
  call fso.DeleteFile(filespec)
  Set fso = Nothing
  DeleteFile = True
  End function
  
  Public function RenameFile(filespec1,filespec2)
  ‘‘修改一個(gè)文件
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  If Err.number<>0 Then
  Response.Write("修改文件名時(shí)發(fā)生錯誤!請查看錯誤信息
  " & Err.number & "
  " & Err.Description)
  Err.Clear
  RenameFile = False
  End If
  call fso.CopyFile(filespec1,filespec2,True)
  call fso.DeleteFile(filespec1)
  Set fso = Nothing
  RenameFile = True
  End function
  
  End Class
  %>
  
  現在已可以壓縮有密碼的數據庫,代碼如下,但是壓縮之后的數據庫密碼就沒(méi)有了!如何解決?
  
  <%
  Const JET_3X = 4
  
  Function CompactDB(dbPath, boolIs97)
  Dim fso, Engine, strDBPath
  strDBPath = left(dbPath,instrrev(DBPath,"\"))
  Set fso = CreateObject("Scripting.FileSystemObject")
  
  If fso.FileExists(dbPath) Then
  Set Engine = CreateObject("JRO.JetEngine")
  
  If boolIs97 = "True" Then
  Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
  "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=‘‘XXXXXXXX‘‘;Data Source=" & strDBPath & "temp.mdb;" _
  & "Jet OLEDB:Engine Type=" & JET_3X
  Else
  Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=‘‘XXXXXXXX‘‘;Data Source=" & dbpath, _
  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"
  End If
  
  fso.CopyFile strDBPath & "temp.mdb",dbpath
  fso.DeleteFile(strDBPath & "temp.mdb")
  Set fso = nothing
  Set Engine = nothing
  
  CompactDB = "你的數據庫, " & dbpath & ", 已經(jīng)壓縮成功!" & vbCrLf
  
  Else
  CompactDB = "數據庫名稱(chēng)或路徑不正確. 請重試!" & vbCrLf
  End If
  
  End Function
  %>
  
  
  
  
  
  asp編程有用的例子(一)
  1.如何用Asp判斷你的網(wǎng)站的虛擬物理路徑
  答:使用Mappath方法
  < p align="center" >< font size="4" face="Arial" >< b >
  The Physical path to this virtual website is:
  < /b >< /font >
  < font color="#FF0000" size="6" face="Arial" >
  < %= Server.MapPath("\")% >
  < /font >< /p >
  2.我如何知道使用者所用的瀏覽器?
  答:使用the Request object方法
  strBrowser=Request.ServerVariables("HTTP_USER_AGENT")
  If Instr(strBrowser,"MSIE") < > 0 Then
    Response.redirect("ForMSIEOnly.htm")
  Else
    Response.redirect("ForAll.htm")
  End If
  
  3.如何計算每天的平均反復訪(fǎng)問(wèn)人數
  答:解決方法
  < % startdate=DateDiff("d",Now,"01/01/1990")
  if strdate< 0 then startdate=startdate*-1
  avgvpd=Int((usercnt)/startdate) % >
  顯示結果
  < % response.write(avgvpd) % >
  that is it.this page have been viewed since November 10,1998
  
  4.如何顯示隨機圖象
  < % dim p,ppic,dpic
  ppic=12
  randomize
  p=Int((ppic*rnd)+1)
  dpic="graphix/randompics/"&p&".gif"
  % >
  顯示
  < img src="< %=dpic% >" >
  
  5.如何回到先前的頁(yè)面
  答:< a href="< %=request.serverVariables("Http_REFERER")% >" >preivous page< /a >
  或用圖片如:< img src="arrowback.gif" alt="< %=request.serverVariables("HTTP_REFERER")% >" >
  
  6.如何確定對方的IP地址
  答:< %=Request.serverVariables("REMOTE_ADDR)% >
  
  7.如何鏈結到一副圖片上
  答:< % @Languages=vbs cript % >
  < % response.expires=0
  strimagename="graphix/errors/erroriamge.gif"
  response.redirect(strimagename)
  % >
  
  8.強迫輸入密碼對話(huà)框
  答:把這句話(huà)放載頁(yè)面的開(kāi)頭
  < % response.status="401 not Authorized"
  response.end
  % >
  
  9.如何傳遞變量從一頁(yè)到另一頁(yè)
  答:用 HIDDEN 類(lèi)型來(lái)傳遞變量
  < % form method="post" action="mynextpage.asp" >
  < % for each item in request.form % >
  < input namee="< %=item% >" type="HIDDEN"
  value="< %=server.HTMLEncode(Request.form(item)) % >" >
  < % next % >
  < /form >
  
  10.為何我在 asp 程序內使用 msgbox,程序出錯說(shuō)沒(méi)有權限
  答:由于 asp 是服務(wù)器運行的,如果可以在服務(wù)器顯示一個(gè)對話(huà)框,那么你只好等有人按了確定之后,你的程序才能繼續執行,而一般服務(wù)器不會(huì )有人守著(zhù),所以微軟不得不禁止這個(gè)函數,并胡亂告訴你 (:) 呵呵) 沒(méi)有權限。但是ASP和客戶(hù)端腳本結合倒可以顯示一個(gè)對話(huà)框,as follows:
  < % yourVar="測試對話(huà)框"% >
  < % s cript language=‘‘javas cript‘‘ >
  alert("< %=yourvar% >")
  < /s cript >
  
  11.有沒(méi)有辦法保護自己的源代碼,不給人看到
  答:可以去下載一個(gè)微軟的Windows s cript Encoder,它可以對asp的腳本和客戶(hù)端javas cript/vbs cript腳本進(jìn)行加密。。。不過(guò)客戶(hù)端加密后,只有ie5才能執行,服務(wù)器端腳本加密后,只有服務(wù)器上安裝有s cript engine 5(裝一個(gè)ie5就有了)才能執行。
  
  12.怎樣才能將 query string 從一個(gè) asp 文件傳送到另一個(gè)?
  答:前者文件加入下句: Response.Redirect("second.asp?" & Request.ServerVariables("QUERY_STRING"))
  
  13.global.asa文件總是不起作用?
  答:只有web目錄設置為web application, global.asa才有效,并且一個(gè)web application的根目錄下 global.asa才有效。IIS4可以使用Internet Service Manager設置application setting 怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?
  
  14.怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?
  答:Internet Sevices Manager - > 選擇default web site - >右鼠鍵- >菜單屬性-〉主目錄- > 應用程序設置(Application Setting)- > 點(diǎn)擊按鈕 "配置"- > app mapping - >點(diǎn)擊按鈕"Add" - > executable browse選擇 \WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 輸入 htm method exclusions 輸入PUT.DELETE 全部確定即可。但是值得注意的是這樣對htm也要由asp.dll處理,效率將降低。
  
  15.如何注冊組件
  答:有兩種方法。
  第一種方法:手工注冊 DLL 這種方法從IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下來(lái)執行,進(jìn)入到包含有DLL的目錄,并輸入:regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它會(huì )把dll的特定信息注冊入服務(wù)器中的注冊表中。然后這個(gè)組件就可以在服務(wù)器上使用了,但是這個(gè)方法有一個(gè)缺陷。當使用這種方法注冊完畢組件后,該組件必須要相應的設置NT的匿名賬號有權限執行這個(gè)dll。特別是一些組件需要讀取注冊表,所以,這個(gè)注冊組件的方法僅僅是使用在服務(wù)器上沒(méi)有MTS的情況下,要取消注冊這個(gè)dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll
  
  第二種方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改進(jìn)。MTS允許你指定只有有特權的用戶(hù)才能夠訪(fǎng)問(wèn)組件,大大提高了網(wǎng)站服務(wù)器上的安全性設置。在MTS上注冊組件的步驟如下:
  1) 打開(kāi)IIS管理控制臺。
  2) 展開(kāi)transaction server,右鍵單擊"pkgs installed"然后選擇"new package"。
  3) 單擊"create an empty package"。
  4) 給該包命名。
  5) 指定administrator賬號或則使用"interactive"(如果服務(wù)器經(jīng)常是使用administrator 登陸的話(huà))。
  6) 現在使用右鍵單擊你剛建立的那個(gè)包下面展開(kāi)后的"components"。選擇 "new then component"。
  7) 選擇 "install new component" 。
  8) 找到你的.dll文件然后選擇next到完成。
  要刪除這個(gè)對象,只要選擇它的圖標,然后選擇delete。
  附注:特別要注意第二種方法,它是用來(lái)調試自己編寫(xiě)組件的最好方法,而不必每次都需要重新啟動(dòng)機器了。
  
  16. ASP與Access數據庫連接:
  
  <%@ language=VBs cript%>
  <%
  dim conn,mdbfile
  mdbfile=server.mappath("數據庫名稱(chēng).mdb")
  set conn=server.createobject("adodb.connection")
  conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=數據庫密碼;dbq="&mdbfile
  
  %>
  
  asp編程有用的例子(二)
  17. ASP與SQL數據庫連接:
  
  <%@ language=VBs cript%>
  <%
  dim conn
  set conn=server.createobject("ADODB.connection")
  con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務(wù)器名稱(chēng)或IP地址;UID=sa;PWD=數據庫密碼;DATABASE=數據庫名稱(chēng)
  %>
  
  建立記錄集對象:
  
  set rs=server.createobject("adodb.recordset")
  rs.open SQL語(yǔ)句,conn,3,2
  
  18. SQL常用命令使用方法:
  
  (1) 數據記錄篩選:
  
  sql="select * from 數據表 where 字段名=字段值 order by 字段名 [desc]"
  
  sql="select * from 數據表 where 字段名 like ‘‘%字段值%‘‘ order by 字段名 [desc]"
  
  sql="select top 10 * from 數據表 where 字段名 order by 字段名 [desc]"
  
  sql="select * from 數據表 where 字段名 in (‘‘值1‘‘,‘‘值2‘‘,‘‘值3‘‘)"
  
  sql="select * from 數據表 where 字段名 between 值1 and 值2"
  
  (2) 更新數據記錄:
  
  sql="update 數據表 set 字段名=字段值 where 條件表達式"
  
  sql="update 數據表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式"
  
  (3) 刪除數據記錄:
  
  sql="delete from 數據表 where 條件表達式"
  
  sql="delete from 數據表" (將數據表所有記錄刪除)
  
  (4) 添加數據記錄:
  
  sql="insert into 數據表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
  
  sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)
  
  (5) 數據記錄統計函數:
  
  AVG(字段名) 得出一個(gè)表格欄平均值
  COUNT(*|字段名) 對數據行數的統計或對某一欄有值的數據行數統計
  MAX(字段名) 取得一個(gè)表格欄最大的值
  MIN(字段名) 取得一個(gè)表格欄最小的值
  SUM(字段名) 把數據欄的值相加
  
  引用以上函數的方法:
  
  sql="select sum(字段名) as 別名 from 數據表 where 條件表達式"
  set rs=conn.excute(sql)
  
  用 rs("別名") 獲取統的計值,其它函數運用同上。
  
  (5) 數據表的建立和刪除:
  
  CREATE TABLE 數據表名稱(chēng)(字段1 類(lèi)型1(長(cháng)度),字段2 類(lèi)型2(長(cháng)度) …… )
  
  例:CREATE TABLE tab01(name varchar(50),datetime default now())
  
  DROP TABLE 數據表名稱(chēng) (永久性刪除一個(gè)數據表)
  
  19. 記錄集對象的方法:
  
  rs.movenext 將記錄指針從當前的位置向下移一行
  rs.moveprevious 將記錄指針從當前的位置向上移一行
  rs.movefirst 將記錄指針移到數據表第一行
  rs.movelast 將記錄指針移到數據表最后一行
  rs.absoluteposition=N 將記錄指針移到數據表第N行
  rs.absolutepage=N 將記錄指針移到第N頁(yè)的第一行
  rs.pagesize=N 設置每頁(yè)為N條記錄
  rs.pagecount 根據 pagesize 的設置返回總頁(yè)數
  rs.recordcount 返回記錄總數
  rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
  rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
  rs.delete 刪除當前記錄,但記錄指針不會(huì )向下移動(dòng)
  rs.addnew 添加記錄到數據表末端
  rs.update 更新數據表記錄
  
  ---------------------------------------
  
  20 Recordset對象方法
  
  Open方法
  
  recordset.Open Source,ActiveConnection,CursorType,LockType,Options
  
  Source
  Recordset對象可以通過(guò)Source屬性來(lái)連接Command對象。Source參數可以是一個(gè)Command對象名稱(chēng)、一段SQL命令、一個(gè)指定的數據表名稱(chēng)或是一個(gè)Stored Procedure。假如省略這個(gè)參數,系統則采用Recordset對象的Source屬性。
  
  ActiveConnection
  Recordset對象可以通過(guò)ActiveConnection屬性來(lái)連接Connection對象。這里的ActiveConnection可以是一個(gè)Connection對象或是一串包含數據庫連接信息(ConnectionString)的字符串參數。
  
  CursorType
  Recordset對象Open方法的CursorType參數表示將以什么樣的游標類(lèi)型啟動(dòng)數據,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
  --------------------------------------------------------------
  常數 常數值 說(shuō)明
  -------------------------------------------------------------
  adOpenForwardOnly 0 缺省值,啟動(dòng)一個(gè)只能向前移動(dòng)的游標(Forward Only)。
  adOpenKeyset 1 啟動(dòng)一個(gè)Keyset類(lèi)型的游標。
  adOpenDynamic 2 啟動(dòng)一個(gè)Dynamic類(lèi)型的游標。
  adOpenStatic 3 啟動(dòng)一個(gè)Static類(lèi)型的游標。
  -------------------------------------------------------------
  以上幾個(gè)游標類(lèi)型將直接影響到Recordset對象所有的屬性和方法,以下列表說(shuō)明他們之間的區別。
  
  -------------------------------------------------------------
  Recordset屬性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
  -------------------------------------------------------------
  AbsolutePage 不支持 不支持 可讀寫(xiě) 可讀寫(xiě)
  AbsolutePosition 不支持 不支持 可讀寫(xiě) 可讀寫(xiě)
  ActiveConnection 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  BOF 只讀 只讀 只讀 只讀
  Bookmark 不支持 不支持 可讀寫(xiě) 可讀寫(xiě)
  CacheSize 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  CursorLocation 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  CursorType 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  EditMode 只讀 只讀 只讀 只讀
  EOF 只讀 只讀 只讀 只讀
  Filter 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  LockType 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  MarshalOptions 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  MaxRecords 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  PageCount 不支持 不支持 只讀 只讀
  PageSize 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  RecordCount 不支持 不支持 只讀 只讀
  Source 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě) 可讀寫(xiě)
  State 只讀 只讀 只讀 只讀
  Status 只讀 只讀 只讀 只讀
  AddNew 支持 支持 支持 支持
  CancelBatch 支持 支持 支持 支持
  CancelUpdate 支持 支持 支持 支持
  Clone 不支持 不支持
  Close 支持 支持 支持 支持
  Delete 支持 支持 支持 支持
  GetRows 支持 支持 支持 支持
  Move 不支持 支持 支持 支持
  MoveFirst 支持 支持 支持 支持
  MoveLast 不支持 支持 支持 支持
  MoveNext 支持 支持 支持 支持
  MovePrevious 不支持 支持 支持 支持
  NextRecordset 支持 支持 支持 支持
  Open 支持 支持 支持 支持
  Requery 支持 支持 支持 支持
  Resync 不支持 不支持 支持 支持
  Supports 支持 支持 支持 支持
  Update 支持 支持 支持 支持
  UpdateBatch 支持 支持 支持 支持
  --------------------------------------------------------------
  其中NextRecordset方法并不適用于Microsoft Access數據庫。
  
  LockType
  Recordset對象Open方法的LockType參數表示要采用的Lock類(lèi)型,如果忽略這個(gè)參數,那么系統會(huì )以Recordset對象的LockType屬性為預設值。LockType參數包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
  
  -------------------------------------------------------------
  常數 常數值 說(shuō)明
  --------------------------------------------------------------
  adLockReadOnly 1 缺省值,Recordset對象以只讀方式啟動(dòng),無(wú)法運行AddNew、Update及Delete等方法
  adLockPrssimistic 2 當數據源正在更新時(shí),系統會(huì )暫時(shí)鎖住其他用戶(hù)的動(dòng)作,以保持數據一致性。
  adLockOptimistic 3 當數據源正在更新時(shí),系統并不會(huì )鎖住其他用戶(hù)的動(dòng)作,其他用戶(hù)可以對數據進(jìn)行增、刪、改的操作。
  adLockBatchOptimistic 4 當數據源正在更新時(shí),其他用戶(hù)必須將CursorLocation屬性改為adUdeClientBatch才能對數據進(jìn)行增、
  刪、改的操作。
  如何在服務(wù)器端調用winzip命令行對上傳的多個(gè)文件打包壓縮
  -------------------------------------------
  如何在服務(wù)器端調用winzip命令行對上傳的多個(gè)文件打包壓縮?
  
  要解決這個(gè)問(wèn)題,首先要了解一下Windows Scripting Host,簡(jiǎn)稱(chēng)為WSH!下面引用一下微軟給的解釋?zhuān)?
  ************************************************************************
  * WSH是微軟腳本技術(shù)系列中的一種,簡(jiǎn)單講,就是提供了一種腳本環(huán)境, *
  * 在這個(gè)環(huán)境中,預定義了一些對象,同時(shí)也可以使用COM里的其他對象。 *
  * 他使用一種腳本引擎來(lái)對腳本解釋執行,微軟自己支持VBSCRIPT和JSCRIPT, *
  * 第三方也可以開(kāi)發(fā)自己的腳本引擎。 *
  ************************************************************************
  具體點(diǎn),就是你先編好一些腳本文件(微軟自帶例子若干,后綴.vbs或 .js),
  然后用一個(gè)程序對他解釋執行,這個(gè)程序就叫Windows Scripting Host,程序
  的名字是Wscript.exe(或者命令行的Cscript.exe),你可以查看一下你的機器
  里有沒(méi)有這兩個(gè)文件,就知道有沒(méi)有WSH了。(win2000是在winnt/system32/下)
  這非常像批處理文件,只不過(guò)文件里不是命令行,而是腳本語(yǔ)言寫(xiě)的腳本。
  
  再來(lái)簡(jiǎn)單介紹一下WSH自帶的幾個(gè)內置對象包括:
  
  1.由 Wscript.exe 提供的對象
  Wscript 作為 Wscript 公開(kāi)給腳本引擎。
  WshArguments 未公開(kāi);通過(guò) Wscript.Arguments 屬性訪(fǎng)問(wèn)。 入
  
  2.由 WSHom.Ocx 提供的對象。
  WshShell 自動(dòng)對象。ProgID 是 Wscript.WshShell。
  (注:這個(gè)就是我們要用到的,可以執行dos命令)
  WshNetwork 自動(dòng)對象。ProgID 是 Wscript.WshNetwork。
  WshShortcut 未公開(kāi);通過(guò) WshShell.CreateShortcut 方法訪(fǎng)問(wèn)。
  WshUrlShortcut 未公開(kāi);通過(guò) WshShell.CreateShortcut 方法訪(fǎng)問(wèn)。
  WshCollection 未公開(kāi);通過(guò) WshNetwork.EnumNetworkDrives 或 WshNetwork.EnumPrinterConnection 方法訪(fǎng)問(wèn)。
  WshEnvironment 未公開(kāi);通過(guò) WshShell.Environment 屬性訪(fǎng)問(wèn)。
  WshSpecialFolders 未公開(kāi);通過(guò) WshShell.Folder 屬性訪(fǎng)問(wèn)。
  
  他們主要可以完成環(huán)境變量的獲取,網(wǎng)絡(luò )登陸,驅動(dòng)器映射,快截方式創(chuàng )建,
  程序加載,特殊文件夾(如系統文件夾)信息獲取等功能。
  
  如果你的系統里支持ADO等COM部件,你同樣可以使用,
  下面這個(gè)例子演示打開(kāi)寫(xiě)字板查看文本文件,同時(shí)創(chuàng )建一個(gè)文本文件并寫(xiě)入一
  段話(huà),你可以把他拷貝到寫(xiě)字板中,然后以.vbs為后綴存盤(pán),之后雙擊他,
  
  ‘‘test.vbs
  ‘‘*********************
  ‘‘下面用SHELL對象啟動(dòng)程序
  ‘‘*********************
  Set WshShell = Wscript.CreateObject("Wscript.Shell")
  WshShell.Run ("notepad " & Wscript.ScriptFullName)
  
  
  ‘‘***********************************************
  ‘‘用COM對象Scripting.FileSystemObject操作文本文件
  ‘‘***********************************************
  Set fs = Wscript.CreateObject("Scripting.FileSystemObject")
  Set a = fs.CreateTextFile("c:\testfile.txt", True)
  a.WriteLine("這是一個(gè)測試。")
  a.Close
  
  也可以在asp等web編程語(yǔ)言中應用
  <script language="VBScript.Encode" runat=server>
  ‘‘上面用SHELL對象啟動(dòng)程序
  Set WshShell = server.CreateObject("Wscript.Shell")
  IsSuccess = WshShell.Run ("D:\winnt\system32\cmd.exe" ,1, true)
  if IsSuccess = 0 Then
  Response.write " 命令成功執行!"
  else
  Response.write " 命令執行失??!權限不夠或者該程序無(wú)法在DOS狀態(tài)下運行"
  end if
  </script>
  注:
  1.其中runat=server必須要有
  2.Set WshShell = Wscript.CreateObject("Wscript.Shell")
  要改為Set WshShell = server.CreateObject("Wscript.Shell"),
  3.參數1代表SW_SHOWNORMAL, 激活并顯示一個(gè)窗口。若窗口是最小化或最大化,則恢復到其原來(lái)的大小和位置。
  4.TRUE代表返回執行的錯誤,False或者為指定代表腳本繼續執行而不等待進(jìn)程結束。
  5.調用WSH的內置對象了,可以象調用函數和過(guò)程一樣。
  如call WshShell.Run ("D:\winnt\system32\cmd.exe" ,1, true)
  
  如果你對WSH感興趣,想了解更多的話(huà),請察看
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsconwshbasics.asp
  http://www.dev-club.com/club/bbs/showEssence.asp?id=11136
  
  現在我們言歸正傳來(lái)看看如何對文件進(jìn)行壓縮和解壓!
  大家都知道winzip對文件解壓和壓縮都易如反掌,但是如何通過(guò)程序和命令行對其調用呢?
  當然winzip的作者已經(jīng)開(kāi)發(fā)出
  WinZip Command Line Support Add-On Version 1.0
  大家去可以去http://www.winzip.com/wzcline.htm 下載wzcline.exe!
  前提是本機須安裝winzip8.0或更高版本的支持,如果你不是winzip8.0,去
  http://www.winzip.com/download.htm 下載!
  
  下載后,直接安裝就可以!
  就會(huì )在winzip的目錄中產(chǎn)生winzip命令行幫助文件和程序WZZIP.exe,WZUNZIP.EXE。
  你可以開(kāi)始運行里調用:
  如:"c:\program files\winzip\wzzip" myfile.zip
  也可以拷貝這里兩個(gè)文件到任意目錄下,直接在dos窗口下運行
  如:wzzip.exe myfile.zip
  你可以在系統的環(huán)境變量里加入set path=c:\windows;c:\program files\winzip;
  就可以在任何地方不用加入路經(jīng)調用了!
  
  現在來(lái)簡(jiǎn)單的了解一下幫助中兩個(gè)命令的基本用法
  壓縮文件用 WZZIP.exe :
  通用格式:wzzip [options] zipfile [@listfile] [files...]
  [options]包括:
  -a 默認的操作,壓縮文件
  -a+ 壓縮文件,并刪除要壓縮的文件
  -b[drive|path] 是在另外的驅動(dòng)器上創(chuàng )建臨時(shí)壓縮文件
  -d 刪除zip文件中指定的目標文件
  -e<x|n|f|s|0> 是設置壓縮比率,x最大,0最小
  -f 替換zip文件中存在的文件
  -h|-? 察看幫助
  -v 創(chuàng )建一個(gè)壓縮文件的列表信息
  -@list 先創(chuàng )建一個(gè)包含所有要解壓的文件的文件,然后按所包含的的文件名壓縮
  ...............(其他具體看幫助文件)
  [@listfile] 是壓縮文件的列表信息紀錄
  [files...] 則是要壓縮的多個(gè)文件,用空格隔開(kāi),也可以用通配符
  
  例:
  壓縮當前目錄的所有文件
  wzzip test.zip *.*
  壓縮類(lèi)型為txt的所有文件
  wzzip test.zip *.txt
  壓縮兩個(gè)文件
  wzzip test.zip abc.txt def.txt
  壓縮類(lèi)型為txt的所有文件除了abc.txt
  wzzip -xABC.TXT test.zip *.txt
  壓縮D:\docs下的所有類(lèi)型為txt的文件及子目錄
  wzzip -rp test.zip d:\docs\*.txt
  把zipit.1st里的文件更新到test.zip
  wzzip -u test.zip @Zipit.lst
  列出一個(gè)壓縮文件的列表內容
  wzzip -v test.zip
  
  
  解壓文件用WZUNZIP.exe :
  通過(guò)格式:wzunzip [options] zipfile [@listfile] [path] [files...]
  [options]包括:
  -c[m] 解壓是顯示文件列表在dos屏幕中
  -d 重建zip文件中的目錄結構
  -f 只解壓在zip文件里同目前文件夾存在的同名的文件,如果沒(méi)有則不解壓
  -jhrs 忽視zip文件里的文件的隱藏、只讀、系統屬性
  -Jhrs 只解壓帶有隱藏、只讀、系統屬性的文件
  -n 只解壓叫新的文件,如果要解壓的文件比已存在的新則替換。
  -o 不用通過(guò)yes來(lái)確定是否要替換文件
  -v 創(chuàng )建一個(gè)壓縮文件的列表信息
  -@list 先創(chuàng )建一個(gè)包含所有要解壓的文件的文件,然后按所包含的的文件名解壓
  ...............(其他具體看幫助文件)
  例如:
  創(chuàng )建所有文件到當前目錄下
  wzunzip test.zip
  從test.zip中創(chuàng )建abc.txt到當前目錄下
  wzunzip test.zip abc.txt
  創(chuàng )建在test.zip中的目錄結構及文件到當前目錄下
  wzunzip -d test.zip
  創(chuàng )建在test.zip中的目錄結構及文件到c:\docs下
  wzunzip -d test.zip c:\docs從test.zip中創(chuàng )建包含在files.ist中的文件名的文件
  wzunzip test.zip @files.lst
  顯示test.zip的文件列表內容
  wzunzip -v test.zip
  顯示壓縮文件中所有類(lèi)型為txt的文件列表內容
  wzunzip -v test.zip *.txt
  
  
  有了以上的準備,那么我們現在來(lái)編寫(xiě)VBS來(lái)執行文件解壓和壓縮就易如反掌了:
  ‘‘test.vbs
  ‘‘*********************
  ‘‘上面用SHELL對象啟動(dòng)程序
  ‘‘*********************
  Set WshShell = Wscript.CreateObject("Wscript.Shell")
  WshShell.Run ("c:\wzzip.exe c:\test.zip c:\a.txt c:\b.txt")
  
  
  ‘‘test.asp
  ‘‘*********************
  ‘‘上面用SHELL對象啟動(dòng)程序
  ‘‘*********************
  <script language="VBScript.Encode" runat=server>
  ‘‘上面用SHELL對象啟動(dòng)程序
  Set WshShell = server.CreateObject("Wscript.Shell")
  IsSuccess = WshShell.Run (" c:\wzzip.exe c:\test.zip c:\a.txt c:\b.txt" ,1, true)
  if IsSuccess = 0 Then
  Response.write " 命令成功執行!"
  else
  Response.write " 命令執行失??!權限不夠或者該程序無(wú)法在DOS狀態(tài)下運行"
  end if

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
ASP數據庫連接方式大全
VBS腳本寶典教程
VBS讀寫(xiě)文件及創(chuàng )建、刪除文件
VBS教程(文本版)|『 腳本技術(shù)交流 』
使用VBA操作文件(8):使用WSH進(jìn)行其他操作
如何同時(shí)運行多個(gè)程序?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久