排课系统asp源代码_【免费毕设】ASP.NET基于web的订餐系统的设计与实现(源代码+论文)...

797a9c775dde7db6edebc9cc6bb1a15e.png点击上方“蓝字”关注我们 6966bd2a4f38bb7f02c9720524d17a7f.png b0216bf0e73260a78f8176ada00a25a4.png目录

0a3bff47036752c784d7697d87045c46.png

b0216bf0e73260a78f8176ada00a25a4.png系统设计

1   数据库设计

1.1  关于SQL语言

SQL语言作为关系数据库管理系统中的一种通用的结构化查询语言,已经被众多的数据库管理系统所采用。使用Visual Basic.NET开发数据库应用程序时,用户可以使SQL语言编程,这是VisualBasic.NET作为一个强大的数据库应用开发工具的一个重要标志。

SQL语言被广泛采用是因为它有很多的优点:它是一个非过程化的语言,一次处理一个记录,对数据提供自动导航;SQL允许用户在高层的数据结构上工作,而部队单个记录进行操作,可操作记录集;接受集合作为输入,返回集合作为输出;允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法,是用户更易集中精力于要得到的记过。SQL可用于所有的用户,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其他类型的中断用户。由于所有的主要的关系数据库管理系统都支持SQL语言,用户可以将使用SQL的技能从一个关系数据库管理系统转到另一个;所有用SQL编写的程序都是可以移植的。

1.2  数据库设计结构

本设计主要由6个数据表组成:菜单表(dish),用户表(shopper),管理员表(manager),新订单表(neworder),添加订单表(orderadd)存储用户的订餐信息,留言信息表(message)存储留言,这些表都集中在一个数据库里面。

数据表:

与用户相关的数据表有:菜单表(dish),用户表(shopper),新订单表(neworder),添加订单表(orderadd),留言信息表(message)。分别如表1,表2,表3,表4所示。

2f12469883e8d2b1b64d7b51cb17c9ec.png

26f07114cee87f52a7f893932770f98c.png

1   系统设计

4.1系统总体流程

系统的总体流程如图1所示,注册用户可以进行订餐和留言、评分;管理员可以进行订单管理,留言和评分管理,用户管理,菜单管理等操作。

13a32e32db72654637d752bd3ce9c073.png

1.1  系统模块设计

总体分为用户和管理员两个模块

1.1.1   用户模块

60ed254edf32f2f052e15e81ebb0ad7b.png

1.新用户注册:填写注册信息。

2.注册用户登录:只有登录才能查看留言和订餐。

3.订餐:记录用户的订餐信息。

4.留言:记录用户的留言和评分信息。

管理员模块

e331000a7044ebf6b2eef24030c2100d.png

1.订单管理:对用户的订单进行处理或删除。

2.留言管理:对用户的留言进行查看或删除。

3.用户管理:对用户信息进行查看或删除。

4.菜单管理:对菜单进行修改或者删除,添加新菜品。

b0216bf0e73260a78f8176ada00a25a4.png系统实现

1   系统实现

1.1  用户功能模块实现

用户模块包括:新用户注册,注册用户登录,注册用户订餐,注册用户留言和评分。

1.1.1  新用户注册

用户填写注册信息包括必填项:用户名,密码,验证密码,email;和可选填写的信息。注册成功后返回登录成功页面,可以选择进行订餐和留言、评分操作。

流程图如下:

9841521c68abc8a250ffbb489b267778.png

7ac9d5adcc2db5ab68bd4e7a6e745f3b.png

在提交的时候,检测用户名是否已经存在,若存在,则返回错误信息,重新填写注册信息。从工作流上看,只有注册成功后才可以进行订餐和留言。

代码如下:

        conn.ConnectionString = "ConnectTimeout=5;packet size=4096;persist security info=False;initialcatalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"‘链接数据库

       cmd.Connection = conn

       cmd.CommandType = CommandType.Text

       conn.Open()

        Dimstrsql As String= "select * from shopper where cshopperid='" & Trim(txtName.Text)& "'"

       cmd = New SqlCommand(strsql, conn)

        Dimreader As SqlDataReader = cmd.ExecuteReader()

       If reader.Read() = True Then

           namewrong.Text = "已有此用户名"

           conn.Close()

       Else

            conn.Close()

所有信息正确便将密码加密之后,将所有信息插入数据表shopper中。

代码如下:

              Dimconn1 As NewSystem.Data.SqlClient.SqlConnection

                Dimcmd1 As NewSystem.Data.SqlClient.SqlCommand

               Dimstr1 As String

                Dimstr2 As String

                str1 = Password1.Text

                str2 =System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str1,"MD5")

‘使用MD5加密算法加密密码文本框的值

                conn1.ConnectionString ="Connect Timeout=5;packet size=4096;persist security info=False;initialcatalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"

                cmd1.Connection = conn1

                cmd1.CommandType =CommandType.Text

               conn1.Open()

                sqlstr = "insertshopper([cshopperid],[cpassword],[csex],[cage],[vaddress],[cphone],[vemail],[vmemo],[dregistertime],[dlastlandtime])values('"

                sqlstr += txtName.Text &"','"

                sqlstr += str2 &"','"

                Ifman.Checked Then

                    sqlstr += "男','"

                ElseIfwoman.Checked Then

                    sqlstr += "女','"

                EndIf

                sqlstr += txtAge.Text &"','"

                sqlstr += txtAddress.Text &"','"

                sqlstr += txtPhone.Text &"','"

                sqlstr += txtEmail.Text &"','"

                sqlstr += txtMemo.Text &"','"

                sqlstr += System.DateTime.Now& "','"

                sqlstr += System.DateTime.Now& "')"

                cmd1.CommandText = sqlstr  ‘将注册信息插入数据库

                cmd1.ExecuteNonQuery()

                conn1.Close()

注册成功页面如下:

c3034e3ee5fc08a07c68358766f02983.png

1.1.1  登录

用户需要填写用户名和密码,对输入的用户名与数据库的进行比较,若没有则返回错误,对密码也进行判断,因为密码在保存时是经过MD5加密的,所以在判断的时候也把输入的密码先进行MD5加密,然后进行比较。登录成功进入登录成功页面。

c288d710a83f4a25f9f5e98e5018cc70.png

b68d76109368eee508ce80acd23d0cd6.png

代码如下:

  Dim cmd As NewSystem.Data.SqlClient.SqlCommand

       conn.Open()Dim str As String

       str =System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass.Text,"MD5")  ‘使用MD5加密密码文本框的值,用于下面跟数据库里面的值进行比较

       cmd.CommandText = "select * from shopper where cshopperid='"& Trim(txtName.Text) & "' and cpassword= '" & str &"' "

       cmd.Connection = conn

       Dim reader AsSqlDataReader = cmd.ExecuteReader

       If reader.Read() Then

           Session("cshopperid") = Trim(reader("cshopperid"))   ‘检测用户名是否已经存在

                      Response.Redirect("login_suc.aspx")

       Else

           Session("cshopperid") = Nothing

           wrong.Text = "用户名或者密码错误!"

       End If

       conn.Close() 

ee98e085c515a94175040ab5827b9e8a.png

1.1.1  订餐

使用DATAGRID绑定DISH表显示菜单,在DATAGRID上每行绑定一个多选按钮和下拉列表,进行多选和数量的选择。然后在文本框中输入送餐的地点,电话和其他的备注信息。若菜品和地址都填写好,则进入订餐成功页面,可以查看自己的订餐信息,可以进行修改和删除。若错误,则报告错误信息,返回订餐页面。

流程图如下:

0ef96e021bbcf12a9673471e8db93157.png

05af7c849028787bd918860be7435655.png

绑定数据,代码如下:

    '指定数据源并绑定到DataGrid控件

    Private SubBindGrid()

       Dim conn AsNew SqlConnection

       Dim cmd AsNew SqlCommand

       Dim DS AsNew DataSet

       conn.ConnectionString = "Connect Timeout=5;packet size=4096;persistsecurity info=False;initial Catalog=dishsale;data source=32A5C0037011401;userid=sa;password=''"

       conn.Open()

       cmd.Connection = conn

       Dim adpt1 AsNew SqlDataAdapter("selectcdishid,vdishname 菜品名称,cdishrate 价格,vdishdescription 口味  from dish", conn)  ‘显示dish表的内容

       adpt1.Fill(DS, "OUTER")

       DataGrid1.DataSource = DS

       DataGrid1.DataBind()

       conn.Close()

    End Sub

‘在绑定每行时,判断多选按钮的状态和下拉列表的状态

Private Sub DataGrid1_ItemDataBound(ByValsender As Object,ByVal e AsSystem.Web.UI.WebControls.DataGridItemEventArgs) HandlesDataGrid1.ItemDataBound

       If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then

           Dim offset AsInteger

           offset = txtSaveValue.Value.IndexOf(CType(e.Item.Cells(1).FindControl("TitleShow"),Literal).Text)

           If txtSaveValue.Value.IndexOf(CType(e.Item.Cells(1).FindControl("TitleShow"),Literal).Text) >= 0 Then

                DimChkSelected As HtmlInputCheckBox = CType(e.Item.Cells(0).FindControl("ChkSelect"),HtmlInputCheckBox)

                ChkSelected.Checked = True

                offset =txtSaveValue.Value.IndexOf(",", offset)

                Dimnumoffset As String

                numoffset =txtSaveValue.Value.Substring(offset + 1, 1)

                DimNumSelected As HtmlSelect = CType(e.Item.Cells(2).FindControl("snumber"),HtmlSelect)

                Dimx As Integer

                x = CInt(numoffset)- 1

                NumSelected.SelectedIndex = x

           End If

       End If

    End Sub

在点击提交时,判断选定的菜品及数量和输入的信息,并插入数据库。

代码如下:

    Private SubSubmit_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesSubmit.Click

       If txtSaveValue.Value = "" Then

           Me.lb_info.Text = "请选择菜品!"

       ElseIf Request("memo") ="" Then

           Me.lb_info.Text = "请输入您的地址!"

       Else

           GetDishCart()   ‘调用GetDishCart将数据写入数据库

           Me.lb_info.Text = "suc"

           Response.Write("

       End If

    End Sub

    Private SubGetDishCart()

       Dim IdList() AsString =txtSaveValue.Value.ToString().Split(";")

       Dim tconn AsNew SqlConnection

       Dim tcmd AsNew SqlCommand

       Dim objReader AsSqlDataReader

       Dim x AsInteger

       tconn.ConnectionString ="Connect Timeout=5;packet size=4096;persist security info=False;initialcatalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"

       tconn.Open()

       tcmd.Connection = tconn

       tcmd.CommandText = "select orderid from neworder order by  oid desc"

       objReader = tcmd.ExecuteReader()

       If objReader.Read Then

           x = CInt(objReader("orderid"))+ 1

       End If

       objReader.Close()

       tconn.Close()

       For i AsInteger = 0 ToIdList.Length - 2 Step 1

           Dim NuList() AsString = IdList(i).Split(",")

           tconn.Open()

           tcmd.CommandType = CommandType.StoredProcedure

           tcmd.CommandText = "orderinsert"     ‘调用存储过程向neworder表插入数据

           tcmd.Parameters.Clear()

           tcmd.Parameters.Add(NewSqlParameter("@orderid", x))

           tcmd.Parameters.Add(NewSqlParameter("@dishid", NuList(0)))

           tcmd.Parameters.Add(NewSqlParameter("@dishnumber", NuList(1)))

           tcmd.Parameters.Add(NewSqlParameter("@userid", Session("cshopperid")))

           tcmd.Parameters.Add(NewSqlParameter("@birdate", DateTime.Now.ToLongDateString()))

           tcmd.ExecuteNonQuery()

           tconn.Close()

       Next

       '插入相应订单地址

       Dim tsql AsString

       tsql = "Insert into orderadd values('" & x &"','" & Request("memo") & "')"

       tcmd.CommandType = CommandType.Text

       tcmd.CommandText = tsql

       tconn.Open()

       tcmd.ExecuteNonQuery()

       tconn.Close()

        Session("orderid") = CStr(x)

    End Sub

b0216bf0e73260a78f8176ada00a25a4.png源文件

cf904eeb219e6b6a440a2d56d3879351.png

ef43fb72ea6cc0db080a0a4dc9a4d22a.png

1971d914242defaa6efdcff7ef2052c0.png

4b37065e87786eedf0c15628f314206d.gif

详情请关注小编继续了解,免费赠送源代码与论文哦!

计算机毕业设计(源程序+论文+开题报告+文献综述+翻译+答辩稿)

联系QQ:2932963541进行咨询

f9d0e99c592d5be998cb8487223cccd0.png f7052ab30949381766faf9ad5b3c8f97.png 网站地址: http://www.webtmall.com/ 扫码关注最新动态更多精彩,点击下方“
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件简介:鑫钜系统是一套智能系统 ,专门解决令头头疼的学校问题。 手工一向是学校教务工作中最令人头疼的事,非常费时费神,而且由于人工操作时多多少少会有些失误。往往经过一两天的冥思苦想出来的程表,却总会发现纰漏,导致程表需要修改。而修改程表一般都是牵一发而动全身,令人非常苦恼。 鑫钜系统的出现解决了以上所有难题,本系统特聘一位从事20余年学校教务工作的老师,根据自己多年来经验,全程跟踪系统开发,集众家软件之长,操作简单,直观;算法先进,合理分配每天的程节次,出来的更合理、更科学,完全符合中小学的需要。让您从此告别繁琐的手工,只要设置好学校班数、节数、程、教师任系统就会自动出所有程表。一个几十个班的学校,从信息开始录入到开始打印程表的整个过程一般一个小时内就可以完全搞定,这在手工阶段,几乎是不可想象的。而且电脑自动的过程只需几秒钟,完之后觉得不满意,完全可以根据系统提示进行调整。 功能特点:鑫钜系统还有很多特点都领先于同类软件,如: 1.傻瓜型的向导操作模式:《鑫钜系统》的向导操作模式使得对电脑一知半解的用户也可以操作自如。并采用教务工作者的思路来设计软件,即使不懂电脑的老教务主任操作起来也会有一种似曾相识的感觉。 2一流的算法: 《鑫钜系统》采用优秀的算法,自动无论速度及准确性是其它软件不可比拟的 3.直观的调功能。能采用直观的卡片式显示方法,用不同的颜色显示哪些可以调,哪些不能调,调直观,方便,像玩游戏一样,让您出的符合您的要求。 4.方便的查询功能。任意选中表中某一节(或几节),能查询哪些老师在上,哪些老师在休息,这样方便领导选派教师安临时性的工作,或考勤查岗等事务,也可以在调过程中利用它发现哪些不合理,以便进行调整. 5.教学工作量统计功能。能自动统计全校任教师的教学工作量,并导出到Excel(电子表格)中编辑、打印。以便根据您的需要计算出教师的教学工作量津贴等。 6.能合理分配场地受限的程。例如:微机、体育。如果您学校只有一间微机教室,那么在同一系统会只安一节微机。 7.能设置教师在哪节。例如:有些老师每周固定时间开会,固定时间教研等。 8..能设置程的不节次。例如:体育不安在上午第一、二节。 9.能根据您的需要安固定。例如:班会、劳动、自习等安在固定的某一节;也可以用来做手工,如:把某班的语文固定在第一节上。 10.方便、灵活的打印功能。总功表、班级表、个人表能一键导出到Excel(电子表格)中编辑、打印,让你打出更精美的表。班级表和个人表还可以用A4纸张直接打印出来。 11.强大的手动调功能。系统能够自动提示可调程位置,可以方便地调动程。 12.采用24小时在线升级技术。采用在线升级技术,令升级更方便。 13.立足用户的本地化改造。如校方对系统的某些功能需求有异,可在第一时间为校方做调整完善。 使用范围:适用于各类中学、小学、全日制、半日制、中专类院校等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值