问:什么是ASP?
答:ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发现哦那个Email或访问文件系统等;
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。
问:什么是静态网页和动态网页?
答:网页按其表现形式有静态网页与动态网页之分。
静态网页:
所谓静态网页,就是该网页文件里没有程序代码,只有HTML标记(网页中的图片、表格、文字等页面内容是通过HTML代码来描述,打开一个网页,在页面点击鼠标右键,在快捷菜单中选择[查看源文件],即可查阅此网页的HTML代码),这种网页文件的后缀为.htm或.html。静态网页一经制成,内容就不会再变化,不管何时何人访问,显示的都是一样的内容,如果要修改有关内容,就必须修改网页,然后重新上传到服务器上。
静态网页的工作原理如下:
当你在浏览器里输入网址回车后,就向服务器端提出了浏览网页的请求。服务器端接到请求后,就会找到你要浏览的静态网页文件,服务器识别出是静态网页(查看后缀是.htm或.html),然后直接发送到你的浏览器上显示出来。
注意:
1.静态网页内容由HTML代码来描述,客户端浏览器负责解析HTML代码,显示页面内容。
2.静态网页响应速度快。
3.静态网页适合放置长久不变的信息,比如公司介绍。
动态网页:
所谓动态网页,就是该网页文件不仅含有HTML标记,而且含有程序代码,这种网页的后缀一般根据Web程序设计技术来定,如利用ASP技术培训开发的动态网页文件的后缀为.asp,jsp技术为.jsp,php技术为.php,.net技术为.aspx。动态网页能够根据不同的情况而动态显示相应的内容,还可以根据用户的即时操作和即时请求,内容发生相应的变化。如新闻发布系统、BBS、留言板、聊天室等就是用动态网页来实现的。
动态网页的工作原理与静态网页有很大的不同。当你在浏览器里输入动态网页网址回车后,向服务器端提出了浏览动态网页的请求,服务器端接到请求后,首先会找到你要浏览的动态网页文件,然后就执行网页文件中的程序代码,将程序代码所代表的动态内容转化为静态的标准HTML内容,最后全部以静态网页HTML形式发送到你的浏览器。
问:什么是静态网站和动态网站?
答:静态网站即网站内所有页面均为静态页面;动态网站即网站内存在动态网页,可以实现某些动态交互式功能。通常,一个动态网站,会把信息不经常变换的内容做成静态页面形式,而需要经常变换内容的页面做成动态网页形式。
问:为什么网站要做成动态网站?
答:互联网发展十多年来,最早的网站为静态网站,如果要更新网站内容,必须请网站制作者更新网页后,再上传至服务器将原网页覆盖后才能实现,显然这很不方便网站内容的及时更新。试想,一家贸易公司请一家网站设计工作室制作公司网站,如果是静态网站,发条公司动态或公司通告,还需要通知网站的制作者更新网页,再上传至服务器,这很麻烦。如果是动态网站,公司自己就可以随时通过浏览器进入管理系统发布或更新信息。
问:什么是Web程序设计技术?
答:就是用于实现动态交互式功能的网页制作技术,即动态网页制作技术,通过Web程序语言设计的动态网页可以根据用户的即时操作和即时请求,网页内容发生相应的变化,从而可以实现功能强大的交互式操作。常用的Web程序设计技术有CGI、PHP、ASP、JSP、ASP.Net等。
问:为什么ASP技术很流行?
答:ASP是目前最热门的Web技术。
1.易学。ASP功能强大又简单易学,VBScript是它默认的脚本语言,而VBScript由源于VB,很多人熟悉VB,有一定有语言基础。ASP程序相对容易开发和维护。
2.微软产品,微软强大的技术支持,并且与常用的Windows网络操作系统和IE浏览器兼容性好。
3.资源丰富。技术发展相对成熟,并且有丰富的ASP资源。
4.软硬件环境要求低。ASP运行环境低,连早期的WIN98都支持ASP;对服务器硬件配置要求低,个人PC设置为WEB服务器也能跑动ASP系统。
5.适合中小型动态网站建站。
问: ASP技术使用前景如何,会不会很快被淘汰?
答:任何一项技术均有一定的生命期。微软的本意是,推出ASP.net以取代ASP,但从目前来看,ASP还是开发中小型动态网站最适合的技术。理由有:
1.开发门槛低,易掌握。学习ASP.net要有一定的基础,需要经过系统的软件开发课程学习,需要系统的程序开发知识,只适合有一定软件开发基础的人学习掌握。除了大型网站,一般中小型网站的制作者通常是一个人,他需要掌握网站和网页框架构建、FLASH制作、图片处理,如果还要掌握利用.NET开发后台,势必对制作者来说,难度较大,但他可以选择学习容易掌握的ASP技术来开发后台。
2.对于中小型网站的交互功能来说,用ASP技术就容易实现,没有必要使用.NET技术。通常.NET技术用于通过团队力量来开发大型交互式系统,比如网上电子商务系统、电子政务系统,我们学院引进的正方教务管理系统,其B/S部分就是用.NET技术开发的。
问:有很多ASP资源可利用,似乎没有必要去学习ASP?
答:网站建设者可以通过很多途径获得现成的ASP系统,可以奉行“拿来主义”,这样似乎没有必要去学习ASP?但实际情况并不是这样。
的确,ASP之所以这么红火,其中一个很重要原因是资源丰富。掌握ASP技术的人很多,他们会把自主开发的系统放在网上供人下载,也有一些软件公司也提供ASP资源。但,如何你要开发ASP技术动态网站,必须掌握ASP,原因有:
1.如果你对ASP不了解,寻找到现成的ASP系统,你也不知道如何嵌入到你的网站中。
2.单纯性质的留言板、BBS不需修改,可以直接放在你的网站中使用,但是其它系统,很难完全适合你网站的需求,你需要利用你掌握的ASP技术进行修改完善,以期符合你网站的实际情况和实际需求。
3.一些针对性或个性化的系统,无法获得,需要你量体裁衣,自主开发。例如学院网站上就业调查系统、食堂工作调查系统相对项目多,比较复杂,需要自己编写。
问:什么是脚本?
答:脚本(Script)是网页制作中常见的制作技术。根据脚本语言所编写的代码可以直接插入到HTML中,利用脚本可以操纵网页上的元素去实现网页的交互功能,还可以制作特殊动态效果的网页,例如,注册时用户输入信息的有效性验证、弹出的信息框、鼠标指针的文字跟随、渐隐渐现的图片等都是脚本的实际运用。
常用的脚本语言有JavaScript和VBScript,VBScript是ASP的语言基础。
注意:
1.JavaScript和VBScript脚本语言基本相同。
2.JavaScript脚本一般浏览器均支持,而VBScript脚本只有部分浏览器支持。故,静态网页使用的脚本一般是JavaScript脚本。
3.VB→VBScript→ASP,VB是VBScript的语言基础,VBScript是ASP的语言基础。
4.VBScript脚本分客户端运行和服务器端运行,如果是客户端运行即为普通脚本,就是大家通常所看到的一些网页特效;如果设定在服务器端运行,即为ASP程序。
问:采用什么工具进行ASP编程?
答:记事本、FrontPage 、Dreamweaver都可以开发ASP。
记事本是要采用手工输入代码方式,显然不适合开发代码相对复杂的ASP。
FrontPage 、Dreamweaver比较方便ASP的开发,但本人不习惯使用,并且产生的代码比较复杂,不精炼。
本人常用的方式是:手中储备有上百条常用的ASP代码模块,在Dreamweaver中做完网页的静态部分,再把所需要的ASP代码模块拷入HTML代码之中,在代码视图下,修改完善ASP代码。
问:我使用Dreamweaver开发ASP,是不是不需要学习ASP?
答:有人有这样的经历,在没有学习HTML语言的情况下,在Dreamweaver编辑状态下,就可以制作静态页面。(其实,如果要设计精美、复杂、专业性的静态网页,必须掌握HTML)。是不是动态网页也是这样呢?
在Dreamweaver编辑状态下制作ASP动态网页,必须掌握ASP语言。Dreamweaver编辑状态,只能减轻你手工输入ASP代码的麻烦,但在Dreamweaver编辑状态下开发ASP,如果你不懂ASP,将无从下手,在制作过程中,将不断弹出的设置对话框,你就不知道如何进行填写。
问:什么是Web服务器?
答:一种具有高性能的计算机。网站所包含的文件就是存储在里面。通过服务器上安装的Web服务器软件,例IIS,有效地管理网站,并接受用户在客户端通过浏览器发出的浏览请求,然后发送请求浏览的网页到用户浏览器。
中小型企业要建立自己的Web服务器一般选择的是易上手易管理的Windows 2000 Server,也可以选择Windows 2003 Server。我们可以通过这些操作系统里的Web服务器软件IIS(Internet Information Server,因特网信息服务)组件来建立Web服务器。
注意:如果你的机子安装的是Windows 2000 Server操作系统,IIS默认已安装;如果是Windows 2000 个人版或XP或Windows 2003 Server,则需要自定义安装IIS。
问:我的服务器安装的是Windows 2003 Server,但似乎不支持ASP?
答:在Windows 2000 Server中,默认支持ASP,但在Windows 2003 Server中,ASP功能默认关闭,需要在IIS→WEB扩展设置中设置启动ASP。通常还需要在IIS→网站属性设置中,设置启用父路径。数据库文件属性安全设置中,设置USERS用户可写入,这样你的ASP系统才可以正常运行。
问:如果我的服务器安装的不是微软操作系统,如何支持ASP?
答:有的网络操作系统不支持ASP或是支持效果不好,所以ASP程序最好放在Windows操作环境的Web服务器上运行。如果要运行在非Windows平台,例如Unix、Linux等,则要安装相应的ASP脚本解释引擎软件。
问:ASP页面与HTML页面相比,谁的打开速度快?
答:ASP页面运行速度比普通的HTML页面要慢,毕竟ASP程序放在服务器端,要由服务器解释并转化成标准的HTML页面,还要读取后台数据库,因此造成速度相应比较慢。为了减轻服务器的负担,同时提升网站页面打开速度,一些信息长久不变的页面,最好做成静态页面。
问:学习ASP,要掌握HTML语言吗?
答:一定要,通常学习顺序是,先掌握静态网页语言HTML,再学习动态技术。在ASP页面文件中,通常即有HTML代码,又有ASP代码,ASP代码是嵌入在HTML代码适当位置处,与之混合在一起。在HTML代码中,表单类的代码要非常熟悉,因为通常在ASP系统中通常是通过表单形式采集浏览者信息,与之交互。
问:如何理解ASP运行在服务器端,而VB脚本运行在客户端浏览器上?
答:用以下例子:
建两个文件,其一为静态页,包含以下VB脚本代码:
<script language="vbscript">
MsgBox now()
</script>
由于VB脚本由客户端浏览器解析,所以,显示的时间是你的电脑的系统时间,你可以更改你的电脑的系统时间,可以看到弹出消息框中的时间随之变化。
另一为ASP文件,包含以下ASP代码:
<%=now()%>
由于ASP代码由服务器解析,所以,显示的时间是服务器的系统时间,更改你的电脑的系统时间,可以看到页面时间没有随之变化。
问:为什么学习动态网页制作,掌握表单很重要?
答:动态网页就要是实现交互功能,即网站浏览者与网站交互,进行信息在线交流,而采集用户信息的方式,即是通过表单形式,例如,用户注册表单、用户发表文章表单、在线调查表单、登录表单等等。
表单代码属于HTML代码,标签为:
<form>
……
</form>
问:常用的表单元素有哪些?
答:常用的表单元素有文本域、下拉菜单、单选按钮、复选按钮、提交按钮、重置按钮等。提交按钮是表单中不可缺少的表单元素;文本域用于采集较多字符,所采集的信息送到ACCESS数据库存储。
问:如何制作表单?
答:表单代码是HTML代码。可以在Dreamweaver中制作表单,先插入一表单域,插入布局表格(为了让表单元素美观整齐排列),再插入表单元素。
为了防止用户输错信息,可以设置表单信息验证,可以采用脚本实现(Dreamweaver中的行为面板),也可以用ASP程序实现。
问:表单属性含义是什么?
答:主要有两个表单属性,method和action。
method用于指定数据发送方式,POST或GET,一般采用POST方式。
Action属性用于设置处理表单信息方式。
如果信息发送到电子邮箱,则action=mailto:jxciazb@126.com,另外还要配上一表单属性(不提,有兴趣者网上搜索);
action="1.asp",表示将表单数据送至1.asp。由1.asp中的ASP程序处理,此表单页面不含动态程序代码,文件类型为html文件;
action="",表示将表单数据送至本页面。由本页面的ASP程序处理,此表单页面含ASP程序代码,文件类型为ASP文件;
如果表单中含有“文件选择”表单元素<input NAME="big" TYPE="FILE">,则必须要配有ENCTYPE="multipart/form-data"表单属性。
问:什么是Web数据库?
答:ASP系统中通常要使用数据库用于信息存储,比如公司动态信息、客户留言等。ASP常用的数据库系统有Access和SQL Server。前台ASP技术+后台数据库技术才能开发功能强大的ASP系统。
问:ASP系统所采集的信息可以不存储在数据库中吗?
答:可以。EXCEL、记事本都可以存储,甚至你可以将表单采集的信息发送至您的电子邮箱。但存储在Access或SQL Server中是常用的方式。
问:为什么大多数中小型ASP网站选择 Access为数据库?
答:Accsee是微软Office系列办公软件包的重要组成部分,安装Office时默认自动安装了Access。Access配置简单、移植方便,但效率低,适合做中小型动态网站的Web数据库。
▲ Access数据库使用简单,用户能迅速掌握它的使用方法。
▲ 对于一般的单位网站或个人网站,Access数据库存储与管理数据的功能绰绰有余。
▲ 如果ASP系统是基于Access数据库开发的,现在想把数据库转换成SQL Server数据库也很方便,只要利用SQL Server的导入功能就能轻松实现这种转换。由于存取Access和SQL Server数据库采用的都是标准SQL语言,ASP程序几乎不用改写,需要改写的就是连接数据库的语句。
SQL Server:
是微软提供的运行在Windows操作平台上的数据库系统,操作也比较简便,属于大型数据库。通常在使用ASP开发大中型动态网站时使用SQL Server作为Web数据库。
如果你所开发的ASP系统,以前采用ACCESS数据库,后随着数据量增大,需要改用SQL SERVER为数据库,ASP系统中ASP代码基本不需要作变动(除连接数据库的代码),因为ACCESS和SQL SERVER,都是采用标准的SQL命令对数据库进行操作。
问:Access数据库作为网站数据库,有什么要注意事项?
答:
1.Access数据库文件名不能用中文,但表名和字段名可以用中文。
2.不要使用time、table等敏捷单词为表名或字段名,不然ASP系统工作时,可能报错。
3.字段如果是文本数据类型,只能存储不超过255个字符,超过的字符自动删除,所以如果此字段需要存储的字符数较多,可以设置为“备注”数据类型。
问:什么是SQL语言?
答:前台ASP程序与后台数据库结合,才能实现强大功能的ASP系统。对数据库进行查询、删除、添加、更新记录操作,则是通过SQL语句。SQL是专为数据库而建立的标准操作命令集。
问:查询Select语句如何使用?
答:Select * from users
说明:从表users中选取全部记录。
Select name,class,age from users
说明:从表users选取指定列name、class、age的记录,注意语句中列之间用逗号相隔。
Select * from users where class="05网络4"
说明:根据条件选取记录
Select * from users order by age asc
说明:查询结果排序,asc表示按升序排,升序是默认的排序,所以asc可省略不写。
Select * from users order by age desc
说明:查询结果排序,desc表示按降序排。
Select top 10 * from users
说明:只先选取前10条记录。
Select name,(test1+test2+test3) as testnum from users
说明:从表中原有的字段产生派生字段,“test1+test2+test3”将字段test1、test1、test1值相加产生派生字段testnum,注意在这里test1、test1、test1为数字类型的字段,所派生的字段testnum并不是表中的真正字段,但派生出来后,以后就可以用testnum来引用。
Select * from users where name like "%张%"
说明:模糊查找,从表中查找姓名中含有“张”字的记录。
问:添加Insert语句如何使用?
答:
用于向数据库添加记录。语法如下:
Insert into 数据表(字段1,字段2,…)values(字段1的值,字段2的值,…)
说明:
▲ values中字段值的顺序一定要与前面的字段顺序相对应。
▲ 字段之间,字段值之间用逗号相隔。
▲ 如果某字段的类型为字符型或日期型,该字段值要用引号括起来,单引号双引号都可以。
举例如下:
Insert into users(name,class,age) values("张三","信息五班","20")
说明:向表users插入一条新记录。
问:删除Delete语句如何使用?
答:用于从数据表中删除记录。语法如下:
Delete from 数据表[where 条件]
说明:
▲ where 条件,可以按条件从表中删除记录。
▲ 如果没有“where 条件”,则表示删除表中所有记录。
举例如下:
Delete from users where name="张三"
说明:从表中删除张三的记录。
问:更新Update语句如何使用?
答:更新数据表中的记录。语法如下:
Update 数据表名 set 字段1=字段值1,字段2=字段值2,…[where 条件]
说明:
▲ where 条件,可以按条件从表中更新记录。
▲ 如果没有“where 条件”,则表示更新表中所有记录。
举例如下:
Update users set class="信息六班" where name="张三"
说明:从表中更新张三的class字段值。
问:为什么我的记录集的RecordCount值总是返回-1?
答:你应当使用这种模式来打开存取数据库的记录集:rec.open strSQL,conn,1,1
其中的strSQL是操作数据库的SQL语句;conn是联接数据库的Connection 变量。
问:我在ASP脚本中写了很多的注释,这会不会影响服务器处理ASP文件的速度?
答:经国外技术人员测试,带有过多注释的ASP文件整体性能仅仅会下降0.1%,也就是说基本上不会影响到服务器的性能下降的。
问:我有没有必要在每一个ASP文件中使用“Option Explicit”?
答:你最好这样,因为这样可以使得你的程序出错机会降到最少,并且会提升整体性能将近9.8% 。
问:最近随同IIS5.0一起出现的ASP3.0有何新的功能?
答:其实并没有什么新的变化,但是新增加了两个Server对象的方法:
Server.Transfer以及Server.Excute,还有一个新的对象ASPError。具体的使用方法请参考微软的网站:www.microsoft.com。
问:为什么我使用“Window.open()”方法打开的新窗口的ASP页面中经常会出现Session丢失的现象?
答:在微软的IE4.x会经常出现这种情况,但IE5.x中已经解决了这个错误。所以,为了兼容所有的浏览器,你可以使用诸如“test.asp?name=xxx”的方式来在窗口之间传递参数,这样的效果更好,只是要注意,如果传递的参数很重要,请不要使用明文方式进行传递,否则很容易导致安全问题。
问:经常看到联接数据库有两种方式DSN以及DSN-LESS,两者是什么意思?有什么不同吗?
答:DSN是英文“Data Source Name”的缩写,DSN方式也就是采用数据源的联接方式,这个数据源可以在“控制面板”里面的“ODBC Data Sources”中进行设置,然后就这样使用:
Conn.Open "DSN=Test;UID=Admin;PWD=;"
其中的“Test”就是你自己设定的数据源的名称。注意,要同时使用UID以及PWD,否则会出错。
同样的,DSN-LESS就是非数据源方式的联接方法,使用方法是:
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=\somepath\mydb.mdb;Uid=Admin;Pwd=;"
在相同的硬件环境下,DSN-LESS方式要比DSN方式的性能要高,但是一旦ASP源代码因为某些安全问题而被别人用到,将会泄漏数据库的账号以及密码,所以这两种方式是有利有弊的。
问:在ASP中使用ADO的AddNew方法和直接使用“Insert into...”语句有和不同?那种方式更好?
答:ADO的AddNew方法只是将“Insert into ”语句封装了起来,所以,当对大量数据进行操作的时候,直接使用SQL语句将会大大加快存取数据的速度,因为他减少了ADO的“翻译”时间。虽然SQL语句不如AddNew等语句容易接受,但是学习一些常用的SQL语句在进行数据库编程中是非常重要的。
问:为何我将这句话(“Let''s go now!”)插入到数据库中的时候会发生错误?
答:因为大多数的数据库(Access,MS SQL Server)都把单引号当作分割符号使用的,所以不可以直接将单引号插入到数据库中,你必须在执行SQL语句之前,分别将每一个单引号替换成两个单引号:
MyData=Replace(MyData," '' "," '''' ",1)然后,在保存到数据库中就行了。
问:On Error 语句的作用是什么?
答:该语句的作用是:启用或禁用错误处理程序。一般用法如下:
On Error Resume Next
On Error GoTo 0
如果在您的代码中未使用On Error Resume Next语句,所发生的运行时错误将显示错误信息,同时,代码的执行也随之终止。
但当你采用它时,就会使程序按照产生错误的语句之后的语句继续执行,或是按照最近一次所调用的过程(该过程含有 On Error Resume Next 语句)中的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。
在调用另一个过程时,On Error Resume Next 语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。
如果您已启用 On Error Resume Next 错误处理程序,则可使用On Error GoTo 0禁用错误处理程序。
ASP初学者常犯的几个错误
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)。