基于web的招投标系统的设计与实现—计算机毕业设计(论文内容摘要:
比直接访问更快。 本系统的存储过程比较多,前面已经详细介绍各个存储过程的功能,下面将本系统的整个存储过程做简要的描述,如下表 57所示。 表 57 存储过程表 存 储 过 程 描 述 sp_bid_isp 添加一条用户的竞价 sp_Get_Bid_Details 获取某件项目所有竞价的详细信息 sp_item_dsp 删除某件项目 sp_get_highest_bid 获取某件项目的最高竞价 sp_item_isp 添加一件项目 sp_item_sel 返回某用户的项目 sp_item_usp 更新某件项目信息 sp_items_for_sale 返回所有可以竞价的项目 sp_login 处理用户登录事件 sp_my_winning_bids 返回某用户当前竞标于领先地位的所有项目 sp_person_isp 添加一个用户信 息 sp_person_sel 通过用户名即邮件地址来查询一个用户 sp_person_sel_by_id 查询某条竞标信息的竞标者信息 sp_person_usp 更新用户信息 sp_sale_plete 完成某个项目的交易 sp_sale_isp 为某个项目增加一次成功的交易记录 6 系统总体实现 本系统使用 Pagelet控件技术编写了 件。 其中 , 版本 和版权信息。 本系统还主要提供了那些与项目基本信息相关的数据库操作方法,在项目类中首先为了用户参与招标投标,其中主要的部分是为某个项目添加一个招竞信息,在添加项目的时候通过对项目发布,项目信息的说明,以及对项目信息的修改,删除,更新等操作来实现了用户在本系统中的招标功能,其功能的实现主要是在数据库中对相关的数据与信息进行修改,删除,更新等,即实现发布招标信息使用户参与招标。 此外,当用户登录本系统后,可以对一系列项目进行浏览,当用户欲求购项目时,那么就需要参与竞标,在参与竞标之前需要对标书进行下载等 工作。 其页面显示了一个表 , 该表对每个当前招竞标的项目作了简单的说明。 注册用户可以选择某个特定的待招项目,单击后到达 己欲对该项目出价,其功能的实现主要是对一个项目出价,出价后利用数据绑定将出价信息写入数据库,在数据库中通过对出价信息进行比较,将出价最高的用户判定为竞标获胜者,再从数据库中将数据读取出来并将用户参与竞标的项目发布在系统的主页面上,同时还公布出参与竞标的用户的详细信息。 文件 主要介绍 重复连接数据库操作的设置。 appSettings add key=ConnectionString Value= Data source=(local)。 database=bids。 User id=sa。 Password=5202020 / /appSetting 系统首 页面 该页面为系统首页 (图 61系统首页 ),提供了登录、注册和浏览列表的链接。 该页面非常简单,如果用户已经是系统会员,那么只要输入正确的用户名和密码就可以进入改系统了。 如果用户不是会员,那么 用户只要按照要求填写相关的信息就可以成功的注册为本系统会员。 在不是会员的情况下,用户可以浏览本系统中正在招标的相关信息,但是不能进行任何相关的操作。 图 61 系统首页 页面的实现 用户注册页面主要调用 Person类提供了用户的详细信息相关的各个属性。 这些属性分别与数据表中的字段相对应。 在首页面单击“注册”链接进入该页面,此页面不仅可以让用户注册添加个人用户信息,同时它也是修改注册信息的界面。 在该页面中使用了几个 Panel组件,通过设置它们的 Visible属性 可以实现上面的操作。 在写入数据库时,首先调用了 Tools类中的 public static bool IsLoggedIn()方法来实现判定用户是否已经登录,这样才能进行安全验证,确定用户是否具有权限访问某些页面。 如果没有登录需要注册,则添加用户详细信息,通过 Customer方法和系统引用文件 .dll向数据库添加注册信息。 下面是 Person类设计方案方法的定义和描述。 如下表 62所示: 表 62 Person类设计方案方法的定义和描述 方 法 名 称 描 述 public string AddCustomer(string FamilyName,string GiveName,string EmailAddress,string Password,string Add1,string Add2,string City,string State,string Zip,string Country) 添加一个用户信息 public PersonDetails GetPersonByID(Int32 intPersonID) 获取某条竞标信息的竞标者信息 public PersonDetails GetPersonByID(string strEmail) 通过用户名即邮件地址来查询一个用户 public PersonDetails Login(string strEmail,string strPassword) 处理用户登录事件 public string ModifyCustomer(string FamilyName,string GiveName,string EmailAddress,string Password,string Add1,string Add2,string City,string State,string Zip,string Country) 更新用户信息 其页面和几个事件代码如下图 62所示:: 图 62 用户注册页面 下面主要介绍的是注册页面中核心代码部分,其代码如下: private string Process。 //判定是否为注册用户 private void Page_Load(object sender, e) { if (()) { Process = MODIFY。 myPersonDetails = new ()。 obj = new ()。 myPersonDetails= ([].Value)。 =。 =。 = [].Value。 =。 =。 =。 =。 =。 =。 =。 = false。 obj = null。 = false。 = true。 } else { Process = ADD。 = true。 = false。 } } //添加用户信息 private void btnSubmit_Click(object sender, e) { if () { obj = new ()。 string strStatus。 if (Process == ADD) { strStatus = (, , , , , , , , , )。 try { (strStatus)。 [GivenName].Value=。 [].Value =。 [PersonID].Value = strStatus。 ()。 } catch (FormatException ex) { = strStatus。 } } else { // 更新用户信息 strStatus=(, , , , , , , , , )。 if (strStatus == 1) { [GivenName].Value= [txtGivenName]。 [].Value=。 ()。 } else if( 1) { = Update Failed! + strStatus。 } } } } } } 用户登录页面主要是为会员提供服务,在用户已经成为会员时,只要该用户输入正确的用户名和密码,就能进入系统,进行一些相关的具体操作。 因此,重点是按钮的单击事件响应程序,其功能主要是通过判定用户输入的用户名和密码是否和曾经注册时写入在数据库中的数据是否相同,来实现的登录功能。 该页面(图 63用户登录页面 )与代码如下: 图 63 系统登录页面 private void btnSubmit_Click(object sender, e) { if () { obj = new ()。 myPersonDetails = new ()。 myPersonDetails = (, )。 if ( != 0) { [].Value =。 [GivenName].Value =。 [PersonID].Value = ()。 ()。 } else = Login failed. Please try again.。 } } } } 页面 该页面显示了一个表 , 该表对每个当前招竞标的项目作了简单的说明。 从该页面中,注册用户可以选择某个特定的待招项目,单击后到达 查看别人的竞价或者自己为该项目出价。 该页面功能的实现主要是对一个项 目出价后,利用数据绑定将出价信息写入数据库,通过都出价信息的比较,将出价最高的用户判定为竞标获胜者,并发布出该用户的信息。 该页面 (图 64项目工程 )如下: 图 64 项目工程 该页面项目类的数据层设计的方法和 Page_Load主要事件处理程序与页面如下 (图 64项目工程 ): 表 62列出了 Item数据层类的设计方案方法的定义和描述。 表 62 Item类设计方案方法的定义和描述 方 法 名 称 描 述 public string AddBid(Int32 ItemID) 为某个项目增加一个竞标信息 public string AddItem(string ItemName,string ItemDesc,Double ItemAsk,Double ItemNotify,Int32 ItemSellerID,DateTime ItemExpDate) 增加一个项目用于竞标 public string AddSale(Int32 ItemID,Int32 BidID) 为某项目添加一次成功的交易记录 public string CompleteSale(Int32 ItemID,Double WinningBid) 完成某件项目的交易 public string DeleteItem(Int32 ItemID) 删除某件项目 public SqlDataR。基于web的招投标系统的设计与实现—计算机毕业设计(论文
相关推荐
题,支持翻页功能,表中将显示新闻标题、作者及发布时间。 该页面的界面设计如图 所示。 新闻搜索 登录用户可进行新 闻搜索操作,搜索流程图如图 所示。 图 按新闻类别浏览界面 开始 验证用户是否已登录 获取搜索内容 返回 跳转到新页面 显示搜索结果 Y N 图 新闻搜索流程图 南昌航空大学科技学院 2020 届学士学位论文 21 21 在新闻搜索页面中同样是利用 GridView
一标识一位用户 2. 数据存储名称:图书分类信息表 含义说明:存放分类名称信息 存储方式:一条记录存储一个图书分类名,整个表存储所有的图书分类名信息 处理要求:增、删、改 说明:用自动生成的 ID 号来唯一标识一个图书分类名 :图书信息表 含义说明:存放图书的基本信息 存储方式:一条记录存储一类图书信息息,整个表存储所有的图书信息 处理要求:增、删、改和查询 说明:用 ISBN 来唯一标识一类
类型 01 02 03 表 21 所示的电影信息表就是一个关系,简单易掌握。 下面是对关系模型约束的简单描述: 域约束:指每一属性值的范围必须在所列出的可能值的范围之内。 如整数和实数的标准数据类型。 字符、固定长度字符串以及可变长度字符串也可以用于日期、时间、时间戳记和货币数据类型。 键约束:在一个关系结构中,每一个元素都不相同,因此,关 系中的所有元组也必须互不相同。
可进行编辑设计。 4. 与浏览器无关 (Browser Independence),用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在 Web 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 5. Active
器通信,所有操作在服务器端完成,因此,该结构不再需要分发客户端程序,易于维护和升级,由于通过 Inter,应用广泛。 鉴于上述原因,本人实现的系统使用的是 B/S 结构,通过浏览器与数据库交互。 本系统是一 个基于 B/S 架构 应用于学生考试和教学管理的系统,开发本系统的目的主要是为了解决大多数考试还依赖 教师 出题与用笔和纸考试的现象。 该系统节约了很多人力和物力 [12]
pt 则被作为系统默认的脚本语言。 ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于 WEB 服务器上的,可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。 只需将 .asp 程序放在 Web 服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过 WWW 的方式访问 ASP 程序了。 要学好 ASP 程序的设计,必须掌握脚本的编写