ASP.NET在线二手交易系统的设计与实现

摘  要

随着当今社会信息技术的进步,基于互联网的各种应用日益受到了人们的重视,二手商品的重新利用也逐渐被人们关注,二手交易系统就在这种形势下产生了,它利用网络,改变了人们的购物方式。

本文是基于现代二手交易的流程,结合现代的信息技术,通过对系统的结构设计、后台设计、前端开发,构建了一个基于B/S结构的,以ASP为开发平台和SQL server 2000为数据库的二手交易系统。本系统基本实现了二手交易信息的发布与管理等功能。

关键字: B/S结构;数据库;二手交易

3.1  普通用户    

 1 浏览信息,用户可以按照自己的意愿浏览相关的信息及公告,而且系统也把内容分为了几个方面,例如:手机专卖,电脑硬件等等,(这些标题也可以在管理模块部分进行添加)灵活性很大。

2 添加信息,用户可以随意发布自己的信息,网络上的只要浏览了这个网站的用户都可以看到这个信息。因此,有更多的实用性。

 3 搜索信息,但是当信息量比较大的时候,用户要找到自己想要知道的信息,就有困难,于是,本模块加入了搜索功能,用户只需要输入关键字就可以搜索到用户想要的内容,非常方便。

3.2  管理员  

 1 身份验证,系统并不是所有人都可以进行管理的,只有系统管理员才可以对系统进行维护、更新,保证了系统的安全性。

2 信息管理,由于在本模块在使用过程中,可能会大量的信息,而且很多信息都有时效性,因此必须对信息进行管理,删除一些过时信息,保证信息的时效性。

 3 项目管理,本模块是将信息分为几个方面,这样便于用户浏览信息,也便于系统管理员的管理,但是肯定会有一些方面涉及不到,而有一些方面用户根本用不到,给用户造成“有的用不到,用到的没有”的麻烦,系统管理员可以根据具体使用情况对项目进行管理,添加、删除一些项目方便用户的使用。

 4 公告管理,在系统的使用过程中,有可能的一些故障,可能造成用户的使用不便,系统管理员会在第一时间把这个信息告知用户,这个部分就让系统管理员发布公告,删除过时公告,方便用户的使用。

5 链接管理,本系统也可以作为信息中介,把别人的信息链接到本系统上,更加方便得让用户使用本系统,此部分可以添加、删除链接。

3.3  系统功能模块分析

对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图2所示的系统功能模块图。

图2 系统功能模块示意图

4.5  系统功能实现

4.5.1  信息发布-浏览信息

用户只需要进入网站,就可以浏览自己想要的信息,因为本系统信息发布和浏览无需进行身份验证,而且用户可以免费获得自己需要的信息,方便快捷;但是这样安全性不好,系统负担太大。如图7所示,

图7  本系统首页

为了让用户浏览方便,本模块把信息内容分为几个方面,用户可以根据这几个方面,浏览到自己需要的内容,方便检索。如图8所示,

图8 浏览结果图

同时也可以浏览最新近的内容,在第一时间让需要这个信息的用户知道,具体体现信息的时效性,保证信息的实用性。就是本系统设计目的。

4.5.2  信息发布-添加信息

如果用户需要发布自己的信息,那这个信息就应该是最新的。当用户一提交到系统上时,所有的正在浏览本系统的在线用户,就可以在第一时间内知道这个信息,此用户一定要写明联系方式,方便用户使用信息。最新近添加的信息可以在最新那个栏目下找到,可以在相应类别方面的下面找该信息,也可以通过搜索找到该信息,因此一个目的可以有多种实现方式。界面人性化,也可以使不懂计算机的用户方便使用本系统。如图9所示,

图9 普通用户操作界面

添加模块关键代码分析如下:

<%k=0

Do while k<=23

       if     a(k)&"信息"=request("n") then n=cstr(k+1)

       k=k+1

Loop

t1=replace(request("t1"),"<","〈")

t1=replace (t1,"'","''")

t2=replace(request("t2"),"<","〈")

t2=replace (t2,"'","‘’")

d1=replace(request("d1"),"<","〈")

d1=replace (d1,"'","''")

sz = "'" & t1 & "','" &t2& "','" & request ("t3") & "','" & n &"','" & d1 &"','" & now & "',"&dateadd ("y", request (d2), date) &" "

If session ("ad") =0 then

COM. Execute("insert into msg ( tit,mal,msg,kin,whe,tim,edt ) values (" & sz & ")")

Session ("ad") =1

End if %>

是将信息内容的主题,信息内容(包含联系人方式),发布人地址,发布日期,有效期限,发布人邮件地址添加到msg表中;在做判断之前,首先将这些数据处理成可以接收的数据,使用一个session变量来做限制,

如果session ("ad")等于零,则执行添加操作,否则退出。

4.5.3  信息发布-搜索信息

由于随着时间的推移,系统的信息内容会越来越多,用户在检索信息的时候,就会很困难,因此就非常需要一个具有智能搜索的功能,用户只需要输入自己需要信息的关键字就可以了,从而给用户节约大量的宝贵时间,给用户一个智能导向,也可以说是智能导航。如图10所示,

图10 搜索页面

搜索结果如图11所示

图11 搜索结果页面

搜索部分关键代码分析如下:

<% If request ("n") =0 then   

Set rs=com.execute ("select*from msg where tit like '%"& request ("search") &"%' and EDT>=" & date & “ORDER BY id DESC")   

Else   

Set rs=com.execute ("select*from msg where tit like '%"& request ("search") &"%' and kin='" & request ("n") &"' and EDT>=" & date & “ORDER BY id DESC")   

End if %>

如果request ("n")等于0,那么就执行"select*from msg where tit like '%"& request ("search") &"%' and EDT>=" & date & “ORDER BY id DESC"。

否则就执行select*from msg where tit like '%"& request ("search") &"%' and kin='" & request ("n") &"' and EDT>=" & date & “ORDER BY id DESC。

“& request ("search") &”为用户输入内容,查询的是和用户输入内容相类似的标题,还的是有效期限必须大于当前系统时间的记录。

现在所涉及到的一些智能搜索基本用这种判断加SQL语句实现的。

4.5.4  信息管理-管理员身份验证

系统需要管理员来维护和管理数据,并不是所有的人都可以对系统进行维护和管理,系统的安全和保密就通过此项来实现,即安全的屏障。但是,由于时间的限制,身份验证部分在后台连接数据库,不实现身份的申请注册,管理员只需要输入用户名和密码来进行身份验证,其他一些非法入侵者就可以通过猜用户名和密码的方式来破解密码,因此安全性就大大增强了。如图12所示,

图12 管理员登陆界面

让一般的用户只具有浏览、搜索、添加信息的权限,让管理员具有浏览、搜索、添加、删除、发布公告、删除公告、添加和删除链接、项目的添加和删除等权限。做到各司其职。

4.5.5  信息管理-交易信息管理

信息存在时效性的问题,如果不把一些过期的信息删除的话,就会造成系统负担过大,影响用户访问的速度,主要操作就是删除操作,把一些过期的,或错误的信息删除,如图13所示。

图13 信息管理图a

删除分为删除个别信息和删除过期信息,删除个别信息,就是怕在使用过程中出现一些错误信息,系统管理员就可以根据内容删除这些错误信息,保证信息的正确。如图14所示。

删除过期信息,系统会根据这条信息的发布时间和有效时间来决定信息是否过期,如果过期,系统就会智能的删除这些过期信息,保证信息的时效性,不会误导用户。

4.5.6  信息管理-项目管理

系统会把所有的信息分为几个类别,例如,手机专卖,电脑硬件,二手房交易,旧书交易信息等,方便管理,用户就可以在这几个方面中找到自己需要的信息,方便用户检索,但是,在系统的实际使用过程中,可能会有几个方面,信息根本涉及不到;也可能真正需要用的几个方面,在系统中找不到,出现“有的用不到,用到的没有”的麻烦,因此做好信息项目类别的管理是非常必要的,如图15所示。

4.5.7  信息管理-公告管理

在系统的实际是使用过程中,可能会出现各种各样的状况,系统管理员应该在第一时间告知所有的用户,就是使用公告来实现的。系统可以发布公告(公告实际上也是信息的一种形式)、删除过期的、错误的公告。如图16所示。

图16  公告管理图

在这项功能中,虽然可以通过前台的一些具体操作,从而对后台的数据进行操作,但是这里的公告发布,就有用户的随意性,如果用户想要了解公告的话,才能知道公告的具体内容,否则没有起到公告的作用,虽然这样可以体现界面的人性化,但是很被动,相对而言,自动公告,就有很多有点,同样是在前台操作后台的数据,这样才能起到公告的作用,不会影响用户的使用。

4.5.8  信息管理-链接管理

此系统并不是万能的,并不能具有所有用户所需要的信息,所以链接其他地方的资源,这样做其实有个好处,可以减轻系统的负担,减少用户的访问量,提高系统的效率。这里可以添加新链接,删除过期、错误链接。链接的管理实现了同步删除。如图17所示,

这里实际上就做了个添加记录和删除记录的操作,分别对表做删除和添加操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/704658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin扩展函数和运算符重载

扩展函数 fun String.lettersCount():Int{var count 0for(i in this){if(i.isLetter())count}return count } fun main(){val str:String "12we"println(str.lettersCount()) } 相当于直接将方法写在类里面。函数体内可以直接使用this而不用传参。 运算符重载 …

基于Python的jieba库分析《斗破苍穹》文本中的高频词汇

分析《斗破苍穹》文本中的高频词汇 在进行文本分析时&#xff0c;了解文本中出现频率较高的词汇对于把握文本的主题和风格非常有帮助。本文将介绍如何使用Python的jieba库对《斗破苍穹》这部小说的文本进行分词处理&#xff0c;并统计高频词汇的出现次数&#xff08;本文只统计…

AI作画算法详解:原理、应用与未来发展

随着人工智能技术的不断发展&#xff0c;AI作画逐渐成为了一个热门话题。AI作画&#xff0c;即利用人工智能算法生成绘画作品&#xff0c;不仅仅是技术的展示&#xff0c;更是艺术与科技结合的创新体现。本文将深入探讨AI作画的核心算法原理&#xff0c;并通过实例帮助读者更好…

自然语言处理通用框架BERT原理解读

相关代码见文末 1.概述 问题背景: 传统Seq2Seq模型的局限性: 早期的机器翻译和文本生成任务常采用基于循环神经网络(RNN)的序列到序列(Seq2Seq)模型,这类模型在处理长序列时容易遇到梯度消失/爆炸问题,导致训练效率低,难以捕捉长期依赖。 RNN网络的问题: RNN及其变…

哈希表的理解和实现

目录 1. 哈希的概念 (是什么) 2. 实现哈希的两种方式 (哈希函数) 2.1. 直接定址法 2.2. 除留余数法 2.2.1. 哈希冲突 3. 补充知识 3.1. 负载因子 3.2. 线性探测和二次探测 4. 闭散列实现哈希表 (开放定址法) 4.1. 开放定址法的实现框架 4.2. Xq::hash_table::insert…

mysql 查询---多表设计

部分数据 1distinct去重 select distinct job from tb_emp;select * from tb_emp where id in (1,2,3); select * from tb_emp where id between 1 and 5; select * from tb_emp where name like __; #下划线匹配单个字符, %匹配任意多个字符select min(entrydate) from tb_e…

C++ 日志库 log4cpp 编译、压测及其范例代码 [全流程手工实践]

文章目录 一、 log4cpp官网二、下载三、编译1.目录结构如下2.configure 编译3.cmake 编译 四、测试五、压测源码及结果1.运行环境信息2.压测源码3.压测结果 文章内容&#xff1a;包含了对其linux上的完整使用流程&#xff0c;下载、编译、安装、测试用例尝试、以及一份自己写好…

机器学习入门介绍

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 目录 三大方向机器学习产生的原因机器如何学习…

springboot整合rabbitmq的不同工作模式理解

前提是已经安装并启动了rabbitmq&#xff0c;并且项目已经引入rabbitmq&#xff0c;完成了配置。 不同模式所需参数不同&#xff0c;生产者可以根据参数不同使用重载的convertAndSend方法。而消费者均是直接监听某个队列。 不同的交换机是实现不同工作模式的关键组件.每种交换…

SQL注入漏洞常用绕过方法

SQL注入漏洞 漏洞描述 Web 程序代码中对于用户提交的参数未做过滤就直接放到 SQL 语句中执行&#xff0c;导致参数中的特殊字符打破了原有的SQL 语句逻辑&#xff0c;黑客可以利用该漏洞执行任意 SQL 语句&#xff0c;如查询数据、下载数据、写入webshell 、执行系统命令以及…

C语言学习【printf函数和scanf函数】

C语言学习【printf函数和scanf函数】 printf()函数和scanf()函数可以让用户与程序交流&#xff0c;是输入/输出函数 printf()函数 请求printf()函数打印数据的指令要与待打印数据的类型相匹配。例如&#xff0c;打印整数时使用%d&#xff0c;打印字符时使用%c。这些符号被称…

动态手势识别(VGG11)

学校的大作业要做一个视频图像处理相关的&#xff0c;就做了动态手势识别 VGG代码 import torch import torch.nn as nnclass VGG_11_3D(nn.Module):def __init__(self, num_classes, pretrainedFalse):super(VGG_11_3D, self).__init__()self.conv1 nn.Conv3d(3, 64, kernel…