隨筆 - 100  文章 - 50  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(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 閱讀(239) 評論(0)  編輯  收藏 所屬分類: ASP學習
          主站蜘蛛池模板: 临江市| 石台县| 铁力市| 寿光市| 随州市| 淳安县| 泰安市| 白水县| 黄梅县| 柞水县| 灯塔市| 高平市| 新干县| 饶河县| 泰州市| 灵丘县| 河东区| 纳雍县| 拉萨市| 汝阳县| 灌南县| 庄河市| 香港| 新兴县| 济源市| 绍兴县| 日土县| 镇康县| 东港市| 晋宁县| 兰溪市| 渑池县| 忻州市| 古蔺县| 肃北| 万载县| 横峰县| 常山县| 凤阳县| 老河口市| 五指山市|