隨筆 - 100  文章 - 50  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          我收藏的一些文章!

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          1.記錄集關閉之前再次打開:
          ------------------------------------
          sql="select?*?from?test"
          rs.open?sql,conn,1,1
          if?not?rs.eof?then
          dim?myName
          myName=rs("name")
          end?if
          sql="select?*?from?myBook"
          rs.open?sql,conn,1,1
          -------------------------------------
          解決:在第二次rs.open之前先關閉?rs.close

          set?rs1=server.createobject
          rs1.open?sql,conn,1,1

          2,用SQL關鍵字做表名或字段名
          -------------------------------------
          sql="select?*?from?user"
          rs.open?sql,conn,1,1
          -------------------------------------
          user為sql關鍵字
          解決:改為
          sql="select?*?from?[user]"


          3,用鎖定方式去進行update
          -------------------------------------
          sql="select?*?from?[user]"
          rs.open?sql,conn,1,1
          rs.addnew

          rs("userName")="aa"
          rs.update
          -------------------------------------
          當前記錄集的打開方式為只讀
          解決:
          改為
          rs.open?sql,conn,1,3

          4,在查詢語句中采用的對比字段值與字段類型不符
          -----------------------------------------
          sql="select?*?from?[user]?where?id='"?&?myID?&?"'"
          rs.open?sql,conn,1,1
          -----------------------------------------
          假設表中設計ID為數字型,那么些時出錯。
          解決:
          sql="select?*?from?[user]?where?id="?&?myID

          5,未檢查變量值而出錯
          -----------------------------------------
          sql="select?*?from?[user]?where?id="?&?myID
          rs.open?sql,conn,1,1
          -----------------------------------------
          假設myID變量此時值為null,那么sql將成為
          sql="select?*?from?[user]?where?id="
          解決:
          在前面加上
          if?isnull(myID)?then?出錯提示

          6,未檢查變量值類型而出錯
          -----------------------------------------
          sql="select?*?from?[user]?where?id="?&?myID
          rs.open?sql,conn,1,1
          -----------------------------------------
          假設id為數字型,myID變量此時值不為null,但為字符,比如myID此時為"aa"
          那么sql將成為
          sql="select?*?from?[user]?where?id=aa"
          解決:
          在前面加上
          if?isnumeric(myID)=false?then?出錯提示

          這也可以有效防止?sql?injection?漏洞攻擊。

          7,由于數據庫文件所在目錄的NTFS權限而引起的'不能更新。數據庫或對象為只讀"錯誤。
          說明:
          WIN2K系統延續了WINNT系統的NTFS權限。
          對于系統中的文夾都有默認的安全設置。
          而通過HTTP對WWW訪問時的系統默認用戶是?iusr_計算機名?用戶?,它屬于guest組。
          當通過HTTP訪問時,可以ASP或JSP,也或是PHP或.NET程序對數據進行修改操作:
          比如:
          當打開某一個文章時,程序設定,文章的閱讀次數=原閱讀次數+1
          執行
          conn.execute("update?arts?set?clicks=clicks+1?where?id=n")
          語句時,如果?iusr_計算機名?用戶沒有對數據庫的寫權限時,就會出錯.
          解決方法:
          找到數據庫所在目錄
          右鍵》屬性》安全選項卡》設置?iusr_計算機名?用戶的寫權限(當然,也可以是everyone)
          posted on 2006-08-11 08:44 fly 閱讀(229) 評論(0)  編輯  收藏 所屬分類: ASP學習
          主站蜘蛛池模板: 荣成市| 托克托县| 龙州县| 广宁县| 岢岚县| 金塔县| 塔河县| 怀集县| 长沙市| 新野县| 乡宁县| 和田县| 襄城县| 嫩江县| 肥乡县| 云浮市| 铁岭市| 云龙县| 永吉县| 紫阳县| 固阳县| 江永县| 巴林左旗| 泸水县| 如东县| 商丘市| 临夏市| 营口市| 太康县| 合作市| 伊通| 阿荣旗| 黑河市| 南城县| 马鞍山市| 夏津县| 永吉县| 中西区| 凤山县| 保康县| 佳木斯市|