1、毕 业 设 计 (论 文 )网上商品销售系统的设计与实现论文作者姓名:申请学位专业:申请学位类别:指 导 教 师 姓 名 ( 职 称 ):论文提交日期:2网上商品销售系统的设计与实现摘 要随着计算机科学的发展和 Internet的发展,网上购物服务逐渐深入到人们的生活中,给人们的生活带来方便。网上商店在我国刚起步,但发展很快。随着我国互联网的更加普及和网上商店的日趋成熟,会有越来越大的消费群体,市场潜力会得到更充分的发挥。网上商品销售系统是采用 ASP作为开发语言,ACCESS 2000 作为数据库编写的一个 B/S模式的系统。系统主要实现了:用户管理、商品购买、分类管理、商品添加管理、商品订
2、单管理、商品的查询等网上商品销售的基本功能。本文详细介绍了网上商品系统的需求分析,系统设计和功能设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的实现情况和主要代码,同时附有运行界面图例。关键词:分类管理;B/S;ASP;AccessThe Design and Implementation of the On-line Shopping SystemAbstractWith the development of computer science and Internet,On-line shopping service has gradually ac
3、cepted by ordinary people, and has brought about more and more convenience.Although boomed recently, On-line shopping in China has developed dramaticly. Nowdays,there will be more consumers interested in on-line shopping,and the potential of the market will develop greatly. The on-line shopping syst
4、em is based on B/S mode, which takes ASP as program language and ACCESS 2000 as database.The System includes user management, commodity purchase,styling management, commodity adding, order management and commodity searching.This paper describes requirement analysis of the on-line shopping system, sy
5、stem design and function design.It gives out the blue print of system design and database design,and introduces the realization of the system with the important code in particular design.This thesis also provides with many pictures which describe the running of the system.Key words : classify to man
6、age;B/S;ASP;Access目 录论文总页数:23 页1 引言 11.1 系统的开发背景 11.2 本课题研究内容 12 相关理论基础 12.1 ASP编程技术 12.2 ACCESS22.3 B/S模式 23 用户需求分析 33.1 用户角色需求 33.2 功能需求 33.2.1 游客 33.2.2 注册会员 33.2.3 系统管理员 43.3 性能需求 44 总体设计 44.1 系统实现功能简介 44.1.1 系统总体功能简介 44.1.2 前台功能简介 44.1.3 后台功能简介 54.2 系统功能模块图 54.2.1 前台用户管理模块 54.2.2 购物模块 64.2.3 后台
7、管理模块 75 系统功能的具体实现 85.1 数据库的建立 85.2 数据库的连接 .115.3 用户登录模块的实现 .115.4 用户查询模块的实现 .125.5 订单模块的实现 .135.6 后台管理模块的实现 .176 系统测试 .20结 论 .21参考文献 .21致 谢 .22声 明 .23第 1 页 共 23 页1 引言1.1 系统的开发背景电子商务从 90年代初期兴起以来,已从网上购物、电子圣诞扩展到了银行、证券业的运营,成为一种通过网络技术的应用,快速而有效地进行各种商业行为的最新方法。电子商务在今天已被认为是继电子出版和电子邮件之后在Internet上的又一焦点。电子商务是通过
8、互联网实现企业 、商户及消费者的网上购物、网上交易及在线电子支付的一种不同于传统商业运营的新型商业运营模式。在网上开店主要有两种模式:一是建立自己的商品销售网站;二是借助于一些大型的相当成熟的网上店铺平台。前者需要一定的首期投入,并且要懂得了解一定程度的网络知识,再经营中推广宣传成本也比较高;后者不需要软件硬件知识,但对于初次开店的投资者也不容易,由于经验不足,再加上较大的盲目性,没有认真,了解网上商城的招商说明、收费标准等,因此带来一定的困难。1.2 本课题研究内容本文将介绍基于 B/S模式的网上商品销售系统的设计和开发工作,文章将涵盖以下三个方面的内容:1,介绍贯穿项目设计,开发始终的 A
9、SP+ACCESS技术。2,介绍网上商品销售系统的详细设计。3,介绍网上商品销售系统的具体实现。通过对传统的商店销售和利用网络技术的网上商品销售的比较不难看出,商品销售网络化将是今后销售领域的发展趋势。开发这样一套应用系统,是推进网上商品销售信息化进程的一个重要环节。2 相关理论基础2.1 ASP编程技术ASP使用了微软的 ActiveX技术。ActiveX(COM)技术是现在 Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP 本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,
10、你就可以快速、简易地建立自己的 WEB应用。ASP运行在服务器端。这样就不必担心浏览器是否支持 ASP所使用的编程语言。ASP 的编程语言可以是 VBSCRIPT和 JSCRIPT。VBSCRIPT 是 VB的一个简集,会 VB的人可以很方便的快速上手。然而 Netscape浏览器不支持客户端的VBSCRIPT,所以时,看到的是 ASP生成的 HTML代码,而不是 ASP程序代码。这样就可以防止别人抄袭程序。ASP具有如下优点:2(1)无需编译:ASP 脚本集成于 HTML当中,容易生成,无需编译或链接即可直接解释执行。 (2)易于生成:使用常规文本编辑器(如 WINDOWS下的记事本),即可
11、进行*.asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。 (3)独立于浏览器:用户端只要使用可解释常规 HTML码的浏览器, 即可浏览 ASP所设计的主页。ASP 脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。 (4)面向对象:在 ASP脚本中可以方便地引用系统组件和 ASP的内置组件,还能通过定制 ActiveX ServerComponent(ActiveX 服务器组件)来扩充功能。(5)与任何 ActiveX scripting 语言兼容:除了可使
12、用 VBscript 和Jscript语言进行设计外,还可通过 Plug-in的方式,使用由第三方所提供的其它 scripting 语言。(6)源程序码不会外漏:ASP 脚本在服务器上执行,传到用户浏览器的只是 ASP执行结果所生成的常规 HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。2.2 ACCESSAccess是 Office办公套件中一个极为重要的组成部分。刚开始时微软公司是将 Access单独作为一个产品进行销售的,后来微软发现如果将 Access捆绑在 OFFICE中一起发售,将带来更加可观的利润,于是第一次将 Access捆绑到 OFFICE97中,成为 OFF
13、ICE套件中的一个重要成员。现在它已经成为 Office办公套件中不可缺少的部件了。自从 1992年开始销售以来,Access 已经卖出了超过 6000万份,现在它已经成为世界上最流行的桌面数据库管理系统。本系统之所以采用 Access数据库是因为它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通
14、用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能,同时对于小型的数据交换来说使用非常方便。2.3 B/S模式B/S(Browser/Server,浏览器/服务器)模式又称 B/S结构。它是随着第 3 页 共 23 页Internet技术的兴起,对 C/S模式应用的扩展。在这种结构下,用户工作界面是通过 IE浏览器来实现的。B/S 模式最大的好处是运行维护比较简便。目前,软件系统的改进和升级越来越频繁,B/S 架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部
15、电脑之间来回奔跑,效率和工作量是可想而知的,但 B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦” ,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机, “胖”服务器。3 用户需求分析3.1 用户角色需求本网上商品销售
16、系统有三种用户,包括游客,注册会员,后台管理员。游客可以不经过注册而直接浏览商品,但不能买商品,只有注册为会员后,进行购买操作。注册会员可以修改自己的注册资料,进行商品的查询,查询订单的处理情况等。后台管理员可以对系统进行有效的管理,包括对注册会员管理,包括修改注册会员资料,删除注册会员等,可以对商品进行管理,包括添加新商品,管理商品的分类。对订单的处理,更改送货、汇款方式等。3.2 功能需求系统功能主要包括以下几个方面:商品搜索;将商品放入购物车;生成订单;等待后台管理员处理订单;以下按照不同的角色权限对具体功能进行描述。3.2.1 游客游客可以不经过注册,浏览商品,并点击商品图片,查看详细
17、信息并且能够对商品进行等级评定。但是因其未注册,可以进行的操作受到很大的限制。如游客只能浏览商品而不能直接将其放入购物车,否则系统将提示用户尚未登录。所以游客如果发现自己中意的商品,必须先进行注册,成为注册会员后,才能进行相关的一系列操作。3.2.2 注册会员游客可以选择注册,注册后享受很多不同的待遇。游客可以点击注册,然后填写注册信息,提交后将进入“我的帐户”页面。会员有如下功能,包括修4改个人资料,修改收货资料,修改密码,查看购物车,查看订单情况和统计信息,订单生成后,会员可以记住自己的订单号码,登录后进入“我的帐户” ,进行订单处理情况的查询。还可以进行商品的查询,包括按大类,小类查询。
18、会员如果忘记密码还可以通过注册时设置的问题找回密码。3.2.3 系统管理员后台具有强大的管理功能,管理员可以进行有效管理。管理员登录后,进入管理中心界面,可以进行的管理包括:对商品进行有效的管理,包括添加新商品,管理商品删除已有的商品,订单管理;可以进行分类管理,分别添加大类和小类,进行类别转移,也可以删除已经存在的大类和小类;对注册会员的管理,可以修改注册会员的注册资料,也可以删除注册会员,管理员还能够对送货方式和支付方式进行修改、添加和删除等操作。3.3 性能需求整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系
19、统平台要求适中。4 总体设计4.1 系统实现功能简介4.1.1 系统总体功能简介系统分为两类用户,前台注册会员用户和后台管理员用户。前台用户注册后可以进行查询商品,购买商品,修改会员资料等。后台管理员可以对商品进行管理,可以管理注册会员,并进行订单处理。4.1.2 前台功能简介(1)采取会员制、身份验证等一系列措施,保证交易的成功率。会员登录后,可以修改自己的注册资料,修改会员密码,进行产品订单查询等一系列功能,离开时可以退出个人帐户。(2)强大的查询功能,快捷地找到自己需要的商品。可以按商品的名称、品牌、出厂地址、出厂时间、价格范围和分类等信息进行查询,商品有大类小类之分,大类包括手机,电脑
20、等,小类则根据大类从品牌等方面进行细分,会员可以应需所取。(3)会员购物流程:浏览、将商品放入购物车、下订单填写个人资料、送货和支付方式,然后生成一个订单号码,用户需自己记住订单号码,在付款后可以查询是否处理。后台管理员见有的新的订单生成,或处理或不处理。(4)新到商品和推荐展示:每天新增加的新商品都会在首页展示,会员可第 5 页 共 23 页以按自己的要求查看,如欲购买,可直接点击首页展示,填写个人信息,提交生成订单号,等待后台管理员处理。在首页还有一个商品导航,通过导航让客户能更快地找到自己所需的商品。4.1.3 后台功能简介(1)商品管理:添加新商品,管理商品删除不再销售的商品,订单管理
21、可查看订单的详细信息和修改订单状态实现对商品的快速有效管理。 (2)分类管理:添加大类和小类,进行类别转移,也可以删除已经存在的大类和小类,使商品地查询更加方便有效。(3)用户管理:后台用户即管理员管理,可以进行删除、新增管理员及修改管理员密码和权限等操作;前台用户即客户管理,可以查找并删除注册会员,或对注册会员的注册信息进行修改,有效地管理注册会员。(4)送货/汇款方式管理:可以更改送货方式,支付方式等有关信息。 4.2 系统功能模块图整个系统可以分为前台用户和后台管理员用户。前台用户分注册和未注册,未注册用户功能受到限制,注册用户可以管理自己的注册资料,修改密码,查询订单处理情况以及搜索商
22、品等。后台管理员可以管理注册会员,包括修改注册资料和删除注册会员,可以进行商品的管理,包括添加新商品,管理商品的分类,管理员可以处理订单。系统功能模块图如下图 4-1所示:网上商品超市前台用户管理模块 后台管理模块个人资料收货资料修改密码购物车我的订单统计信息商品管理分类管理用户管理图 4-1 系统功能模块图4.2.1 前台用户管理模块前台分为注册用户与游客用户,注册用户可以修改自己资料,修改密码,查找商品,查询订单等功能,而游客的功能有限制,游客不能在线填写订单,因为其并未注册成为会员,其也不能修改自己的注册资料,修改自己的密码。6网上商品超市前台用户浏览模块 用户管理模块搜索商品商品分类新
23、到商品推荐商品商品导航个人资料收货资料修改密码购物车我的订单统计信息图 4-2 前台用户管理模块图4.2.2 购物模块购物流程图如图 4-3所示:注册用户可以在线购买商品,注册用户登录后可以在展示区浏览商品,如发现自己想要购买的商品,可以点击该商品图片查看详细信息,然后点击图片右下角“购物车”修改购买商品数量,接着填写一个订单,包括电话,地址等一些个人信息,继续点击提交请求,生成一个订单号码,注册用户应该牢记此号码,以后用来查询订单是否被处理等情况。第 7 页 共 23 页开始登录成功不成功重试购物车是继续购物购物车管理下订单修改数量收货人的姓名否图 4-3 购物流程图4.2.3 后台管理模块
24、后台管理员登录后可以对网上商品超市进行有效的管理。用户管理:此处用户分为前台注册会员和后台管理员,对注册会员可以修改其资料或者直接删除会员,而对后台管理员则可以进行添加、删除或修改其权限的操作。商品管理:括添加新商品,管理商品,订单管理,处理订单,查看订单,如果未处理,对其进行处理。商品搜索生成订单确认收货地址选择送货方式选择支付方式8分类管理:添加大类和小类,进行类别转移,也可以删除已经存在的大类和小类,使商品地查询更加方便有效。最后就是对货物的运送及会员的付款方式进行修改。后台管理模块图如下图 4-4所示:网上商品超市后台用户管理 分类管理客户管理用户管理商品管理大类管理小类管理类别转移添
25、加新商品商品管理订单管理图 4-4 后台管理模块图5 系统功能的具体实现5.1 数据库的建立数据库是整个网上商品超市的核心部分。只有通过数据库的调用才能进行商品的信息更新处理、添加新商品、查询商品和处理订单,商品分类等。本系统主要设计了七张表,分别为: Admin表, User表, Product表, Orders表, Category表, Sorts 表和 Delivery表。(1)Admin 表:是用于管理员登录时用于验证管理员身份的,这样使前后台分隔开,保护网站的安全,阻止除了管理员之外的任何人进入后台,威胁到整个网站的安全。包括用户名、密码和访问权限等等。其数据库如下表 5-1所示:表
26、 5-1 Admin 表的设计字 段 名 称 数 据 类 型 说 明I D 自 动 编 号 ID(主键)Admin 文本 管理员名Password 文本 管理员密码Rank 数字 权限(2)User 表的设计:该表用于保存注册用户信息,包括注册用户名,密码,密码提示问题以及答案,电子邮箱,性别,收货地址,邮政编码等用户信息。其数据库如表 5-2所示:第 9 页 共 23 页表 5-2 User 表的设计字 段 名 称 数 据 类 型 说 明UserID 自 动 编 号 编号(主键)UserName 文本 注册用户名Password 文本 密码Ueremail 文本 收货地址Identify 数
27、字 身份证号Mobile 文本 手机Uerqq 文本 QQ 号码Adddate 日期/时间 注册日期Question 文本 密码提示问题Answer 文本 密码提示答案Loginnum 数字 登录次数Lastvst 日期/时间 最后一次登录时间Recepit 文本 收货人姓名City 文本 城市Address 文本 地址Postcode 文本 邮编Uertel 文本 电话Deliverymethord 数字 送货方式Paymethord 数字 汇款方式Sex 数字 性别Realname 文本 姓名(3)Product 表的设计:用来存放商品信息,包括商品名称,商品生产厂商,生产日期,商品的配置
28、说明,商品的售价,商品的介绍,商品的大类和小类号等信息,毫无疑问此表占有重要地位,Product 数据表如下表 5-3所示:表 5-3 Product 表的设计字 段 名 称 数 据 类 型 说 明Id 自 动 编 号 编号(主键)Name 文本 商品名称Author 文本 生产厂商Productdate 日期/时间 出产日期Content 备注 配置说明Price1 数字 商品市场价Price2 数字 商品会员价Introduce 文本 商品介绍Sortsid 数字 小类 idCategoryid 数字 大类 id(4)Orders 表的设计:这个表用来储存订单信息,包括订单用户名,下单日期
29、,产品编号,订单编号,收货人姓名,收货人地址,汇款方式编号,送货方式编号,收货人电话,收货人邮件地址,顾客下单留言等。该表为数据库的核心10表,因为买卖商品都是通过订单实现的。Orders 表如下表 5-4所示:表 5-4 Orders 表的设计字 段 名 称 数 据 类 型 说 明Actionid 自动编号 编号( 主键)Username 文本 订单用户名Actiondate 日期/时间 下单日期Id 数字 产品编号Goods 文本 订单编号Recepit 文本 收货人姓名Address 文本 收货人地址Paymethord 数字 汇款方式编号Deliverymethord 数字 送货方式编
30、号Usertel 文本 收货人电话Useremail 文本 收货人邮件地址Comments 备注 顾客下单留言Paid 数字 总金额(5)Category 表的设计:该表用于大类分类,比如可以分为手机,电脑,冰箱等。如下表 5-5所示:表 5-5 Category 表的设计字 段 名 称 数 据 类 型 说 明Categoryid 自动编号 编号(主键)Category 文本 大类名First 数字 是否在首页显示Categoryorder 文本 大类显示顺序(6)Sorts 表的设计:该表用来设计小类分类。如下表 5-6所示:表 5-6 Sorts 表的设计字 段 名 称 数 据 类 型 说
31、 明Sortsid 自动编号 编号(主键)Sorts 文本 小类名称Sortsorder 数字 小类显示顺序Categoryid 数字 对应大类First 数字 是否在首页显示(7)Delivery 表的设计:该表用于存储商品送货和付款的详细信息。如下表 5-9所示:表 5-7 Delivery 表的设计字段名称 数据类型 说明Deliveryid 自动编号 编号(主键)Subject 文本 送货/汇款方式Fee 数字 价钱Methord 数字 0 为送货方式 1 为汇款方式Deliveryidorder 数字 送货/汇款方式排序第 11 页 共 23 页管理员可以在后台管理商品的分类,包括添
32、加大小类,删除大小类;前台注册用户也可以根据商品的大小类分类进行查询。后台管理员可以修改收银信息(可以修改邮寄地址,联系方式等) 。要想管理和使用好表中的数据,就必须建立表与表之间的关系,只有这样才能将不同表中的相关数据连接在一起,为建立查询打下基础。5.2 数据库的连接数据库系统往往是一个大型 WEB应用程序的核心。同其他 WEB应用程序的编写方法相比,强大的数据库访问能力,简单一致的数据库访问方式正是 ASP的突出优点之一。在 ASP中,我们可以轻松的利用 Microsoft提供的强大的ADO技术对各种各样的数据库进行访问,当然可以访问 ACCSEE这样的文件型数据库。ADO提供的对象接口
33、主要为有 Connection,我们可以利用Connection,Command,Recordset 三个对象访问数据库。Connection 对象就是使 ADO与数据库之间建立一个通道,起到一个类似拨号连线的作用,任何对数据库的造作必须先建立 Connection,然后才能进行。本系统数据库连接代码如下所示:5.3 用户登录模块的实现用户只有通过 index.asp登录界面才能进入主页面进行相应的操作。进入登录界面:通过注册页面让用户提交注册并保存在 user表里,并通过登录页面读取用户提交的登录信息与保存在数据库中的数据进行比较以验证是否成功登录。用户登录界面如下图 5-1所示:12图 5
34、-1 用户登录界面用户登录模块主要是通过数据库连接来实现。数据库的连接必须使用 ADO的内置 Connection对象,并且调用 Recordset对象来进行与数据库的查找、删除、更改等功能,在数据库中添加 User表,用来保存用户信息。Userid 列,用于保存用户编号,设置为主键,可以标识每个用户。Username 列用来保存用户名。Password 列用于保存用户的密码,Useremail 用于保护用户的 email地址,当然还有其他列,可以根据自己需要添加一些保存用户信息的列。如果用户还未注册,可以点击注册,进入注册页面,填写注册信息,提交后显示注册成功,进入“我的帐户” ,可以修改自
35、己的资料,修改密码,查询订单处理情况等。注册页面如下图 5-2所示:图 5-2 新用户注册页面5.4 用户查询模块的实现商品的搜索:注册会员可以根据商品的名称,或者商品类别进行快速搜索。查询效果图如下图 5-3所示:图 5-3 商品搜索搜索结果如图 5-4 所示:第 13 页 共 23 页图 5-4 搜索结果 也可以按商品名称,品牌名称,商品的出厂地址等详细信息查询,比如在商品名称中输入彩电,品牌名称输入长虹,出厂地址输入绵阳,具体操作如下图 5-5所示:图 5-5 商品的高级搜索5.5 订单模块的实现在数据库中添加一个名为 Orders的表,编号 actionid用于标识每份订单,设为主键。
36、Username 用于存储下单用户名,id 存储产品编号,recepit 存储收货人姓名,address 用于存储收货人的地址,actiondate 存储下单时间,usertel用于保存定货人的电话,state 用于保存订单的处理状态,1 到 5表示步骤,6 表示在购物篮。订单的实现模块具体代码如下:dim shijian,goodsdim userid,id,rs2,rs3 定义变量id=request(“id“) 获取产品编号userid=request(“userid“) 获取用户 id14shijian=now() 获取当前时间goods=year(shijian) if I purs
37、ue you I will not catch you, and if I catch you-through your own slowness and clumsiness-I will not kill you, and if I kill you I will not eat you.“Nicholas had begun to back away, and at the last; words, realizing that they were a signal, he turned andbegan to run, splashing through the shallow wat
38、er. Ignacio ran after him, much helped by his longer legs, his hair flying behind his dark young face, his square teeth-each white as a bone and as big as Nicholass thumbnail-showing like spectators who lined the railings of his lips.“Dont run, Nicholas,“ Dr. Island said with the voice of a wave. “I
39、t only makes him angry that you run.“ Nicholas did not answer, but cut to his left, up the beach and among the trunks of the palms, sprinting all the way because he had no way of knowing Ignacio was not right behind him, about to grab him by the neck. When he stopped it was in the thick jungle, amon
40、g the boles of the hardwoods, where he leaned,.; out of breath, the thumping of his own heart the only.sound in an atmosphere silent and unwaked as Earths long, prehuman day. For a time he listened for any sound Ignacio might make searching for him; there was none. He drew a deep breath then and sai
41、d, “Well, thats over,“ expecting Dr. Island to answer from somewhere; there was only the green hush.The light was still bright and strong and nearly, shadowless, but some interior sense told him the day, was nearly over, and he noticed that such faint shades as he could see stretched long, horizonta
42、l distortions of their objects. He felt no hunger, but he had fasted be- fore and knew on which side of hunger he stood; he was not as strong as he had been only a day past, and bythis time next day he would probably be unable to outrun Ignacio. He should, he now realized, have eaten the monkey he h
43、ad killed; but his stomach revolted at the thought of the raw flesh, and he did not know how he might build a fire, although Ignacio seemed to have done so the night before. Raw fish, even if he were able to catch a fish, would be as bad, or worse, than raw monkey; he remembered his effort to open a
44、 coconut-he had failed, but it was surely not impossible. His mind was hazy as to what a coconut might contain, but there had to be an edible core, because they were eaten in books. He decided to make a wide sweep through the jungle that would bring him back to the beach well away from Ignacio; he h
45、ad several times seen coconuts lying in the sand under the trees.He moved quietly, still a little afraid, trying to think of ways to open the coconut when he found it. He imagined himself standing before a large and raggedly faceted stone, holding the coconut in both hands. He raised it and smashed
46、it down, but when it struck it was no longer a coconut but Mayas head; he heard her nose cartilage break with a distinct, rubbery snap. Her eyes, as blue as the sky above Madhya Pradesh, the sparkling blue sky of the egg, looked up at him, but he could no longer look into them, they retreated from h
47、is own, and it came to him quite suddenly that Lucifer, in falling, must have fallen up, into the fires and the coldness of space, never again to see the warm blues and browns and greens of Earth: 1 was watching Satan fall as lightning from heaven. He had heard that on tape somewhere, but he could n
48、ot remember where. He had read that on Earth lightning did not come down from the clouds, but leaped up from the planetary surface toward them, never to return.“Nicholas.“He listened, but did not hear his name again. Faintly water was babbling; had Dr. Island used that sound to speak to him? He walk
49、ed toward it and found a little rill that threaded a way among the trees, and followedit. In a hundred steps it grew broader, slowed, and ended in a long blind pool under a dome of leaves. . Diane was sitting on moss on the side opposite him; she looked up as she saw him, and smiled.“Hello,“ he said.“Hello, Nicholas. I thought I heard you. I wasnt mistaken after all, was I?“I didnt think I said anything.“ He tested the dark water with his foot and found that it was very cold.