论文部分内容阅读
【摘要】当今社会处在以高新科技为经济拉动力的第三次快速发展期。网络在其中的作用不可忽视,其中ASP是可以与数据库和其它程序进行交互的一种比较简单、方便的编程工具,被最广泛的运用于各种动态网站中。本文集中介绍了ASP程序设计容易产生的几种错误类型和产生错误时的处理方式。
Abstract: Currently we are entering the period of third quick development with the high technology as the economic driving forces. Networks plays an important role in the process, among them ASP is widely accepted in dynamics websites thanks its simiplity, convenience and interaction with other databases and programmes.The paper focus on several error types and measures accordingly.
【关键词】ASP编程 错误问题 解决方法
Key Words: ASP programme, errors, solutions
中图分类号:TP313文献标识码:A 文章编号:
前言
近年来,计算机应用领域进一步发展,计算机软件的可靠性问题也愈来愈突出。二十多年来,软件开发过程和方法的研究取得了很大成绩,但是,迄今为止,仍然没有找到可靠的办法确保复杂软件系统免出故障。本文在使用ASP用中常见错误及解决方法进行总结,以期对程序设计者有所帮助。
概述
Active Server Page是ASP的全称。意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的—种应用,可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是mp,现在常用于各种动态网站中。ASP是—种服务器端脚本编写环境,可以用来创建租动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
ASP工作原理
当在Web站点中融入ASP功能后,将发生以下事情:
1、用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。
2、浏览器向服务器发出请求。
3、服务器引擎开始运行ASP程序。
4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTM面内容。
5、页面信息发送到浏览器。
二、 ASP程序中的错误类型
常见的造成ASP脚本程序出现错误的原因有三种类型,即编译错误、运行错误和逻辑错误。脚本的错误,可能导致程序脚本无法正确执行,程序停止执行或返回错误的结果。编译错误是由程序脚本语法错误导致的,常见的VBScript语法错误有53种,如命令拼写错误、函数参数传递错误等等,编译错误常常导致脚本不能运行。运行错误指已经通过解释器或编译器的解释或编译的完整有效代码,在执行中产生了错误,运行错误可能造成脚本中断而不能正常运行,常见的VBScript运行错误有66种,如“无效过程调用或参数、溢出”等。逻辑错误是由于程序编写过程中输入错误或程序错误流引起的,这种错误往往很难检测,存在逻辑错误的脚本可能会正常运行,但产生错误的运行结果,如对两个值进行大小比较,本来应当用“<”符号,却误写成了“>”符号,程序虽然可以运行,但必将返回错误的比较结果。这类错误通常情况不会显露出来,是程序调试中最为棘手的问题。
ASP常见错误分析
1、数据库连接错误
ASP主要是通过ADO组件来完成对各种数据库如ACCESS,SQLSEVER等的访问,数据库的连接过程就是先通过设定Connection对象的连接字符串,然后通过该对象的Open方法建立连接,所以连接字符串是保证数据库连接成功的关键一步。
比较容易出现的就是这类报错:
Microsoft OLE DB Provider for 0DBC Drivers(0x80004005)
[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序/mysite/conn.asp,第3行
从上面的错误信息可以看出,这里所采用是ODBC数据源的连接方式,所以每当数据库的位置发生变化,不要忘记修改ODBC数据源中的DSN。
2、字段名冲突
在具体访问数据库表的过程中,在确保SQL语句中表名、字段名书写正确的情况下所出现的错误:
Microsoft JET Database Engine(0x80040E14)
FROM子句语法错误
(或者)
INSERT INTO语句语法错误
这类语法错误不指明出错的具体位置及原因,所以为了修改正确让程序员大伤脑筋。其实出错原因很简单,就是表名、字段名与系统关键字重名,常见的就是使用了“uBer”、“66name”、“password”、“note”等标识充当了表名、字段名等。
3、ADO数据库查询错误
数据库操作是ASP应用中不可缺少的一部分。在处理数据存储时发生错误的可能性也是存在的,安全性问题试图更新已被其他用户删除的记录等等问题很多。我们也要对它进行一定程度的错误控制。
ADO为我们提供了集台,它包含有单个ADO命令的执行而引起的每一个错误的Errors对象。之所以要用集合的形式是因为在一个命令的执行过程中可能会引起多个错误。
对于Errors集台有两个地方需要注意:
1)每次执行ADO命令,如果发生错误就清空错误集。代之以新的错误内容。如果没有错误发生着Errors集合不受影响.也就是说,即使ADO命令成功执行,Errors集台也可能含有错误信息。
2)当包含信息的消息或警告被装人Errors集合时陆的错误号为0,所以不能只检查集合中的错误号而假定错误已发生。而是以Errors.count中的个数来判断是否出错,大于零自然是有错误发生。Errors集台只是Connection对象的一个属性,只能通过Connection对象访问。Recordest对象有一个Activeconnection属性。使用RS.ActiveConnection。Errors即可得到Errors集合。
4、信息丢失
主要分两种情况:第一种表单信息丢失。Web应用中,表单是系统提供给用户的一个交互式界面,针对表单结构编写的脚本要保证其中的各项信息能够完整正确地传递给服务器,一旦出现信息丢失,就容易造成一条不完整的记录进入到数据库当中。第二种是URL查询字符串参数值丢失。这主要是针对通过页面的连接过程传递若干参数,通常连接代码都写成 (“id’)%>”>修改</a>这种形式,说明modify.asp页面的请求通过这样的连接来实现,如果仅在地址栏的虚拟目录下输入文件名,那么就会出现如下的报错提示:
“Microsoft JET Datababe Engine(Ox80040E14)
语法错误(操作符丢失)在查询表达式‘id=’中。
/mysite/modify.asp,第52行”。
这里需要说明的是报错出现在“第52行”,这是由于该句表达式中变量id没有获取到URL查询字符串传递过来的参数值而引发的错误。
防止ASP程序脚本错误的有效方法
1、对程序核心部分和关键算法增加注释
在程序开发中,对常用函数和子程序进行注释是相当必要的,这将对后面调试程序和其他用户重新使用这些程序带来很大的益处,成为源程序文件必不可少的一部分,特别是程序的开头的序言性注释和核心部分或关键算法及程序的难点需要有详细的注释。当然,需要注意的是不需要对所有代码都做注释,过分的注释会加重系统的负担。注释一定要方便程序的阅读和维护,内容要清楚、明了,含义准确,在程序修改时,一定要保持代码和注释的同步更新。
2、培养良好的编程习惯
尽量控制潜在错误的个数,更确切的说,就是要合理有效地处理脚本中可能出现的任何错误,确保不会引起ASP应用的失败。培养良好的编程习惯能最大限度地避免程序中出现错误,减少把错误带进程序中的可能性。需注意以下五點:
1)代码的格式化和缩进编排;
显式声明变量;
变量命名约定要易于识别和理解;
封装脚本语言以便代码重用;
在软件设计过程中构筑软件质量,时刻注意潜在的错误情况。
结语
熟悉如何发现并处理错误的基本知识十分重要。通过分析可能出现的不同种类的错误,掌握缺省的ASP和脚本引擎错误处理系统捕获错误的机理,有助于我们更容易地跟踪错误。本文的探讨可为今后的应用提供参考。
参考文献
【1】张玉喜.网络金融的风险管理研究[J].管理世界,21702,(10)
【2】冉勇.论我国中央银行对网上银行的监管[J].财经科学,2001,(2)
【3】倪建民,崔宇清.网上银行——风险识别与监管框架[J].国际金融研究,2001,(3)
Abstract: Currently we are entering the period of third quick development with the high technology as the economic driving forces. Networks plays an important role in the process, among them ASP is widely accepted in dynamics websites thanks its simiplity, convenience and interaction with other databases and programmes.The paper focus on several error types and measures accordingly.
【关键词】ASP编程 错误问题 解决方法
Key Words: ASP programme, errors, solutions
中图分类号:TP313文献标识码:A 文章编号:
前言
近年来,计算机应用领域进一步发展,计算机软件的可靠性问题也愈来愈突出。二十多年来,软件开发过程和方法的研究取得了很大成绩,但是,迄今为止,仍然没有找到可靠的办法确保复杂软件系统免出故障。本文在使用ASP用中常见错误及解决方法进行总结,以期对程序设计者有所帮助。
概述
Active Server Page是ASP的全称。意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的—种应用,可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是mp,现在常用于各种动态网站中。ASP是—种服务器端脚本编写环境,可以用来创建租动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
ASP工作原理
当在Web站点中融入ASP功能后,将发生以下事情:
1、用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。
2、浏览器向服务器发出请求。
3、服务器引擎开始运行ASP程序。
4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTM面内容。
5、页面信息发送到浏览器。
二、 ASP程序中的错误类型
常见的造成ASP脚本程序出现错误的原因有三种类型,即编译错误、运行错误和逻辑错误。脚本的错误,可能导致程序脚本无法正确执行,程序停止执行或返回错误的结果。编译错误是由程序脚本语法错误导致的,常见的VBScript语法错误有53种,如命令拼写错误、函数参数传递错误等等,编译错误常常导致脚本不能运行。运行错误指已经通过解释器或编译器的解释或编译的完整有效代码,在执行中产生了错误,运行错误可能造成脚本中断而不能正常运行,常见的VBScript运行错误有66种,如“无效过程调用或参数、溢出”等。逻辑错误是由于程序编写过程中输入错误或程序错误流引起的,这种错误往往很难检测,存在逻辑错误的脚本可能会正常运行,但产生错误的运行结果,如对两个值进行大小比较,本来应当用“<”符号,却误写成了“>”符号,程序虽然可以运行,但必将返回错误的比较结果。这类错误通常情况不会显露出来,是程序调试中最为棘手的问题。
ASP常见错误分析
1、数据库连接错误
ASP主要是通过ADO组件来完成对各种数据库如ACCESS,SQLSEVER等的访问,数据库的连接过程就是先通过设定Connection对象的连接字符串,然后通过该对象的Open方法建立连接,所以连接字符串是保证数据库连接成功的关键一步。
比较容易出现的就是这类报错:
Microsoft OLE DB Provider for 0DBC Drivers(0x80004005)
[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序/mysite/conn.asp,第3行
从上面的错误信息可以看出,这里所采用是ODBC数据源的连接方式,所以每当数据库的位置发生变化,不要忘记修改ODBC数据源中的DSN。
2、字段名冲突
在具体访问数据库表的过程中,在确保SQL语句中表名、字段名书写正确的情况下所出现的错误:
Microsoft JET Database Engine(0x80040E14)
FROM子句语法错误
(或者)
INSERT INTO语句语法错误
这类语法错误不指明出错的具体位置及原因,所以为了修改正确让程序员大伤脑筋。其实出错原因很简单,就是表名、字段名与系统关键字重名,常见的就是使用了“uBer”、“66name”、“password”、“note”等标识充当了表名、字段名等。
3、ADO数据库查询错误
数据库操作是ASP应用中不可缺少的一部分。在处理数据存储时发生错误的可能性也是存在的,安全性问题试图更新已被其他用户删除的记录等等问题很多。我们也要对它进行一定程度的错误控制。
ADO为我们提供了集台,它包含有单个ADO命令的执行而引起的每一个错误的Errors对象。之所以要用集合的形式是因为在一个命令的执行过程中可能会引起多个错误。
对于Errors集台有两个地方需要注意:
1)每次执行ADO命令,如果发生错误就清空错误集。代之以新的错误内容。如果没有错误发生着Errors集合不受影响.也就是说,即使ADO命令成功执行,Errors集台也可能含有错误信息。
2)当包含信息的消息或警告被装人Errors集合时陆的错误号为0,所以不能只检查集合中的错误号而假定错误已发生。而是以Errors.count中的个数来判断是否出错,大于零自然是有错误发生。Errors集台只是Connection对象的一个属性,只能通过Connection对象访问。Recordest对象有一个Activeconnection属性。使用RS.ActiveConnection。Errors即可得到Errors集合。
4、信息丢失
主要分两种情况:第一种表单信息丢失。Web应用中,表单是系统提供给用户的一个交互式界面,针对表单结构编写的脚本要保证其中的各项信息能够完整正确地传递给服务器,一旦出现信息丢失,就容易造成一条不完整的记录进入到数据库当中。第二种是URL查询字符串参数值丢失。这主要是针对通过页面的连接过程传递若干参数,通常连接代码都写成 (“id’)%>”>修改</a>这种形式,说明modify.asp页面的请求通过这样的连接来实现,如果仅在地址栏的虚拟目录下输入文件名,那么就会出现如下的报错提示:
“Microsoft JET Datababe Engine(Ox80040E14)
语法错误(操作符丢失)在查询表达式‘id=’中。
/mysite/modify.asp,第52行”。
这里需要说明的是报错出现在“第52行”,这是由于该句表达式中变量id没有获取到URL查询字符串传递过来的参数值而引发的错误。
防止ASP程序脚本错误的有效方法
1、对程序核心部分和关键算法增加注释
在程序开发中,对常用函数和子程序进行注释是相当必要的,这将对后面调试程序和其他用户重新使用这些程序带来很大的益处,成为源程序文件必不可少的一部分,特别是程序的开头的序言性注释和核心部分或关键算法及程序的难点需要有详细的注释。当然,需要注意的是不需要对所有代码都做注释,过分的注释会加重系统的负担。注释一定要方便程序的阅读和维护,内容要清楚、明了,含义准确,在程序修改时,一定要保持代码和注释的同步更新。
2、培养良好的编程习惯
尽量控制潜在错误的个数,更确切的说,就是要合理有效地处理脚本中可能出现的任何错误,确保不会引起ASP应用的失败。培养良好的编程习惯能最大限度地避免程序中出现错误,减少把错误带进程序中的可能性。需注意以下五點:
1)代码的格式化和缩进编排;
显式声明变量;
变量命名约定要易于识别和理解;
封装脚本语言以便代码重用;
在软件设计过程中构筑软件质量,时刻注意潜在的错误情况。
结语
熟悉如何发现并处理错误的基本知识十分重要。通过分析可能出现的不同种类的错误,掌握缺省的ASP和脚本引擎错误处理系统捕获错误的机理,有助于我们更容易地跟踪错误。本文的探讨可为今后的应用提供参考。
参考文献
【1】张玉喜.网络金融的风险管理研究[J].管理世界,21702,(10)
【2】冉勇.论我国中央银行对网上银行的监管[J].财经科学,2001,(2)
【3】倪建民,崔宇清.网上银行——风险识别与监管框架[J].国际金融研究,2001,(3)