论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

仪器设备管理系统设计与实现(论文+程序)

4 系统功能模块

4.1 用户登录模块

用户登录模块主要是检查用户名和密码是否匹配,并且可以通过“注册”按钮进入注册页面。如果用户的用户名和密码匹配则进入系统;不匹配则转入登录错误页面。在登录错误页面用户可以选择进入登录页面和注册页面。

内容来自论文无忧网 www.paper51.com

系统对用户的登录方式采用的是用户名/密码方式,在用户进入系统的时候要求用户输入用户名和密码,并比较两者和数据库中用户名和密码对应。代码如下: 内容来自论文无忧网 www.paper51.com

Dim conn As NewSystem.Data.sqlclient.SqlConnection

内容来自论文无忧网 www.paper51.com

        Dimcmd As New System.Data.sqlclient.SqlCommand copyright paper51.com

        Dimobjreader As System.Data.sqlclient.SqlDataReader http://www.paper51.com

       conn.ConnectionString = ("SERVER=(local);USERID=sa;PWD=;DATABASE=atai")

copyright paper51.com

       conn.Open()

内容来自论文无忧网 www.paper51.com

       cmd.Connection = conn

内容来自论文无忧网 www.paper51.com

       cmd.CommandText = "select * from userlist where username='" +Textusername.Text + " 'and pwd='" + pwd + "'"

paper51.com

       objreader = cmd.ExecuteReader 内容来自论文无忧网 www.paper51.com

If objreader.HasRowsThen

http://www.paper51.com

           Response.Redirect("index.html")

内容来自论文无忧网 www.paper51.com

Else paper51.com

           Response.Redirect("false.htm") copyright paper51.com

End If

内容来自论文无忧网 www.paper51.com

但是,使用明文对用户密码进行存储时,很容易被非法使用者识别。因此,先对密码进行哈希后再写入数据库中,让非法使用者不能识别,用户密码相对更为安全,代码入下:

http://www.paper51.com

Public SharedFunction MD5(ByVal Sourcein As String) As String

paper51.com

      Dim MD5CSP AsSystem.Security.Cryptography.MD5CryptoServiceProvider = NewSystem.Security.Cryptography.MD5CryptoServiceProvider http://www.paper51.com

        DimMD5Source() As Byte = System.Text.Encoding.UTF8.GetBytes(Sourcein) 内容来自www.paper51.com

        DimMD5Out() As Byte = MD5CSP.ComputeHash(MD5Source) http://www.paper51.com

       Return Convert.ToBase64String(MD5Out) copyright paper51.com

    End Function copyright paper51.com

实现截图: paper51.com

图2 用户登录

内容来自论文无忧网 www.paper51.com

4.2 用户注册模块

内容来自www.paper51.com

用户在注册模块主要是为新用户提供注册,新用户在次填写详细信息进行注册,在注册的时候自动把权限设为普通用户。

内容来自www.paper51.com

在用户注册的时候首先判断用户名是否存在,代码如下: 内容来自www.paper51.com

cmd.CommandText = "select * from userlist where username='" +Textusername.Text + "'"

内容来自论文无忧网 www.paper51.com

       objreader = cmd.ExecuteReader

copyright paper51.com

       If objreader.HasRows Then copyright paper51.com

           '存在 paper51.com

            args.IsValid= False

内容来自www.paper51.com

           Session("username") = Textusername.Text

http://www.paper51.com

       Else 内容来自论文无忧网 www.paper51.com

           '不存在

copyright paper51.com

           args.IsValid = True 内容来自论文无忧网 www.paper51.com

       End If 内容来自www.paper51.com

       conn.Close()

内容来自论文无忧网 www.paper51.com

在用户注册时,为了防止用户粗心,在输入密码时不小心输入错误,因此在用户输入密码后还需要用户再一次输入,通过判断两次输入是否相同来判断用户是否输入错误,相关代码如下: paper51.com

If Textuserpwd.Text = Textuserpassword.Text Then 内容来自论文无忧网 www.paper51.com

           '匹配 http://www.paper51.com

           args.IsValid = True 内容来自www.paper51.com

       Else

http://www.paper51.com

           '不匹配

内容来自论文无忧网 www.paper51.com

           args.IsValid = False 内容来自www.paper51.com

       End If

http://www.paper51.com

当所有的条件都满足后才会向数据库中写入注册信息,写入数据库的代码如下:

paper51.com

Dim conn As New System.Data.sqlclient.SqlConnection 内容来自www.paper51.com

       Dim cmd As New System.Data.sqlclient.SqlCommand paper51.com

       Dim objreader As System.Data.sqlclient.SqlDataReader

copyright paper51.com

       conn.ConnectionString = ("SERVER=(local);USERID=sa;PWD=;DATABASE=atai")

http://www.paper51.com

       conn.Open()

内容来自论文无忧网 www.paper51.com

       cmd.Connection = conn

http://www.paper51.com

       If Textusername.Text = Session("username") Then copyright paper51.com

       Else 内容来自www.paper51.com

           If Textuserpwd.Text = Textuserpassword.Text Then 内容来自论文无忧网 www.paper51.com

               Dim pwd As String = MD5(Textuserpwd.Text)

copyright paper51.com

               cmd.CommandText = "insert into userlist values('" +Textusername.Text + "','" + pwd + "','" +sexchoose.SelectedValue + "','" + position.SelectedValue +"','" + Texttelephone.Text + "',' 0  ')"

http://www.paper51.com

               cmd.ExecuteNonQuery()

copyright paper51.com

               Response.Redirect("useraddsuccess.htm") 内容来自论文无忧网 www.paper51.com

           End If paper51.com

       End If

paper51.com

       conn.Close() paper51.com

实现截图: 内容来自www.paper51.com

内容来自论文无忧网 www.paper51.com

图3 用户注册

内容来自www.paper51.com

4.3 设备一览模块 paper51.com

设备一览模块主要是查看目前所拥有的设备。该模块通过DataList控件来处理从数据源读取的数据。DataList控件的分页显示则是通过先根据当前页号Session(“CurrPage”)、分页大小PageSize来计算要显示的记录号范围,然后将数据集中需显示的记录存放到一个临时表tempbook中,再将该临时表绑定到DataList控件实现的,这样就可以显示指定页号的各记录。另外,为了在页面间传递页号值,使用了Session变量CurrPage,当用户单击“上一页”时,将Session(“CurrPage”)减1;当用户单击“下一页”时,将Session(“Currpage”)加1。在nabledwhatbutton()中编写Session(“CurrPage”)的初值和结束处理。 paper51.com

在设备一览页面,可以通过单击“添加设备”来增加新的设备。 copyright paper51.com

在DataList控件中绑定列中,“设备名称”采用超级连接,用户单击可以查看设备的详细信息,通过单击“修改”进入修改设备详细,在修改设备状态时,如果设备状态是维修则转入维修设备添加页面,如果是报废,则进入添加报废设备页面,在添加的同时更改设备一览中该设备的状态为相应状态;单击“删除”删除该设备的所有的信息。

paper51.com

DataList控件的分页显示是通过先根据当前页号Session(“CurrPage”)、分页大小PageSize来计算要显示的记录号范围,当前页号Session(“CurrPage”)的代码如下: http://www.paper51.com

Subenabledwhatbutton()

内容来自论文无忧网 www.paper51.com

        IfSession("currpage") = 1 Then http://www.paper51.com

           firstpage.Enabled = False

内容来自www.paper51.com

           prevpage.Enabled = False 内容来自论文无忧网 www.paper51.com

        Else paper51.com

           firstpage.Enabled = True

内容来自www.paper51.com

           prevpage.Enabled = True

copyright paper51.com

        EndIf

paper51.com

        IfSession("currpage") = Session("totalpage") Then

内容来自论文无忧网 www.paper51.com

           nextpage.Enabled = False

http://www.paper51.com

           lastpage.Enabled = False

copyright paper51.com

        Else 内容来自论文无忧网 www.paper51.com

           nextpage.Enabled = True http://www.paper51.com

           lastpage.Enabled = True 内容来自www.paper51.com

        EndIf http://www.paper51.com

    End Sub

内容来自www.paper51.com

而分页大小PageSzie的计算代码如下:

paper51.com

Dim totalrec AsInteger = equipmentlist.Rows.Count paper51.com

        '计算总页数 内容来自论文无忧网 www.paper51.com

        Dimtotalpage As Integer http://www.paper51.com

        Iftotalrec < pagesize Then

paper51.com

           totalpage = 1 内容来自www.paper51.com

        Else 内容来自论文无忧网 www.paper51.com

           If totalrec Mod pagesize <> 0 Then 内容来自论文无忧网 www.paper51.com

               totalpage = totalrec \ pagesize + 1 paper51.com

           Else paper51.com

               totalpage = totalrec / pagesize

paper51.com

           End If copyright paper51.com

        EndIf copyright paper51.com

       Session("totalpage") = totalpage

http://www.paper51.com

有了当前页号Session(“CurrPage”)和分页大小PageSize就可以计算出显示的记录号范围,然后将数据集中需显示的记录存放到一个临时表tempbook中,再将该临时表棒定到DataList控件来实现,这样就可以显示指定页号的个记录,相关代码如下: copyright paper51.com

Dim tempequipmentlistAs DataTable = equipmentlist.Clone()

paper51.com

        Dimi, j As Integer paper51.com

        Fori = (pageno - 1) * pagesize To pageno * pagesize - 1 copyright paper51.com

           If i < 0 Or i > equipmentlist.Rows.Count - 1 Then Exit For

内容来自www.paper51.com

           Dim row As DataRow = tempequipmentlist.NewRow

http://www.paper51.com

           For j = 0 Toequipmentlist.Columns.Count - 1

内容来自论文无忧网 www.paper51.com

               row(equipmentlist.Columns(j).ColumnName) = equipmentlist.Rows(i).Item(j) 内容来自论文无忧网 www.paper51.com

           Next

paper51.com

           tempequipmentlist.Rows.Add(row) paper51.com

        Next

copyright paper51.com

       DataGridshow.DataSource = tempequipmentlist

copyright paper51.com

       DataGridshow.DataBind() paper51.com

为了在页面间传递页号值,使用了Session变量CurrPage,当用户单击“上一页”时,将Session(“CurrPage”)减1;当用户单击“下一页”时,将Session(“CurrPage”)加1。判断代码如下: 内容来自论文无忧网 www.paper51.com

Sub pagechange(ByValsender As Object, ByVal e As CommandEventArgs)

内容来自www.paper51.com

       Select Case e.CommandArgument

内容来自论文无忧网 www.paper51.com

            Case"firstpage"

paper51.com

               Session("currpage") = 1 paper51.com

           Case "prevpage"

内容来自论文无忧网 www.paper51.com

               If Session("currpage") > 1 Then copyright paper51.com

                   Session("currpage") -= 1 copyright paper51.com

               Else

内容来自论文无忧网 www.paper51.com

                   Session("currpage") = 1

copyright paper51.com

                EndIf 内容来自www.paper51.com

           Case "nextpage" paper51.com

               Session("currpage") += 1 内容来自www.paper51.com

           Case "lastpage" paper51.com

               Session("currpage") = Session("totalpage")

内容来自www.paper51.com

        EndSelect

paper51.com

       enabledwhatbutton() paper51.com

       bindlist(Session("currpage")) 内容来自www.paper51.com

    End Sub

paper51.com

实现截图:

copyright paper51.com

http://www.paper51.com

图4 设备一览 paper51.com

------分隔线----------------------------
联系方式