ASP初学者常犯的几个错误

原创 2004年09月27日 15:14:00

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)

ASP初学者常犯的几个错误

1.记录集关闭之前再次打开:------------------------------------sql="select * from test"rs.open sql,conn,1,1if not...
  • okfei
  • okfei
  • 2008年12月18日 23:21
  • 180

PHP程序员经常犯的10种错误

我们在用php进行开发的时候,往往不经意的都会犯这样那样的错误,而且有些错误还是经常会犯的,下面列出了PHP程序员经常犯的10种错误,大多数和安全相关。看看你犯了几种:  1.不转意html ent...
  • dizzthxl
  • dizzthxl
  • 2012年05月22日 23:23
  • 978

面试时常犯的12种错误

在求职面试中,没有人能保证不犯错误。只是聪明的求职者会不断地修正错误走向成熟。然而在面试中有些错误却是一些相当聪明的求职者也难免会一犯再犯的,我们权称之为高级错误。笔者总结近10年跨国公司人力资源管理...
  • meteorlWJ
  • meteorlWJ
  • 2008年02月07日 18:49
  • 948

c++编程常犯错误

1)重复声明变量,这个很致命,每次声明了全局变量之后,一定保证其余的函数里面都没有同名变量的声明 2)粘贴复制,在粘贴复制的过程中一定保证需要修改的部分都及时修改了 3)c++调试的最好用的方法就是打...
  • ltt19900822
  • ltt19900822
  • 2015年01月23日 11:30
  • 254

c++新手容易犯的几个错误

1.不清楚unsigned类型的特性 #include #include int  main( ) {  char* str = "Hellow";   for (int i = ...
  • e_wsq
  • e_wsq
  • 2014年05月10日 16:41
  • 543

《经理人常犯的11种错误》观后感

这几天又看了余世维先生几年前的录制的《经理人常犯的11种错误》,感触良多,兹为笔记。余先生的眼光高远,看问题视角独到,往往从小处入手,令人耳目一新。现在我们还是强调去国际接轨,我们一些城市的硬件已经和...
  • zhangylong
  • zhangylong
  • 2009年10月11日 15:53
  • 3695

新人设计师常犯的7个错误

我在刚刚做设计的头三年经常会犯各种各样的错误,有些错误现在稍不注意还是有可能会犯。大部分的错误都是在创业公司工作时犯下的,后来去了国际互联网公司,有更多的资源给予提醒跟指正,因此大大的减少了犯错的几率...
  • dlfeicui
  • dlfeicui
  • 2017年10月11日 15:29
  • 38

一个C/C++程序员最容易犯的错误!

首先让我们看一段代码:void GetCtrlRectViaParent( LPRECT lprc, HWND hwndDlg, UINT idCtrl ){    POINT pt;    HWND...
  • baofeng
  • baofeng
  • 2007年01月20日 12:44
  • 705

Java基础中常犯的一些细节上的错误

学习Java有段时间了 ,说实话,本人的基础不太好,因此常常犯一些低级的错误,所以今天把最近犯的和容易犯错的一些问题尽可能地罗列出来,一来提醒自己,二来算是为初学者提供一点点帮助吧,以免犯同样的错误。...
  • qixin1889
  • qixin1889
  • 2016年05月17日 00:47
  • 310

Java初学者常犯的错误

不含包层次的HelloWorld.javapublic class HelloWorld{ public static void main(String[] args) { System.out.pr...
  • daichanglin
  • daichanglin
  • 2007年03月13日 11:22
  • 546
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP初学者常犯的几个错误
举报原因:
原因补充:

(最多只允许输入30个字)