⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.aspx.vb

📁 VB.NET和SQLSERver2000编写在线考试系统
💻 VB
字号:
Imports System.Data
Imports System.Data.SqlClient
Public Class test
    Inherits System.Web.UI.Page

#Region " Web 窗体设计器生成的代码 "

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents Panel4 As System.Web.UI.WebControls.Panel
    Protected WithEvents LinkButton4 As System.Web.UI.WebControls.LinkButton
    Protected WithEvents Button2 As System.Web.UI.WebControls.Button
    Protected WithEvents Panel5 As System.Web.UI.WebControls.Panel
    Protected WithEvents Panel3 As System.Web.UI.WebControls.Panel
    Protected WithEvents LinkButton1 As System.Web.UI.WebControls.LinkButton
    Protected WithEvents LinkButton2 As System.Web.UI.WebControls.LinkButton
    Protected WithEvents LinkButton3 As System.Web.UI.WebControls.LinkButton
    Protected WithEvents Panel2 As System.Web.UI.WebControls.Panel
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents Panel1 As System.Web.UI.WebControls.Panel
    Protected WithEvents Second As System.Web.UI.WebControls.TextBox
    Protected WithEvents Label5 As System.Web.UI.WebControls.Label
    Protected WithEvents Minute As System.Web.UI.WebControls.TextBox
    Protected WithEvents Label2 As System.Web.UI.WebControls.Label
    Protected WithEvents Hour As System.Web.UI.WebControls.TextBox
    Protected WithEvents Panel6 As System.Web.UI.WebControls.Panel
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label

    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region
    Dim dxt_result As New ArrayList
    Dim mxt_result As New ArrayList
    Dim pdt_result As New ArrayList
    Dim pxt_result As New ArrayList
    Public Sub message(ByVal str As String)
        Dim strscript As String = "<script language=javascript>alert('" & str & "')</script>"
        RegisterClientScriptBlock("系统消息", strscript)
    End Sub
    Public Sub find(ByVal dest As ArrayList, ByVal m As Integer, ByVal n As Integer)
        Dim i As Integer
        For i = 0 To n - 1
            Dim r As Random = New Random(Now().Ticks Mod 32768)
            Dim iResult As Integer
            While (dest.IndexOf(iResult) <> -1)
                iResult = r.Next(m)
            End While
            dest.Add(iResult)
        Next
    End Sub
    Public Sub first()
        Dim q As New SqlClass
        q.Open()
        Dim str As String
        Dim dxi As Integer
        Dim mxi As Integer
        Dim pdi As Integer
        Dim pxi As Integer
        str = "select * from 试卷名称表 where 试卷名称='" & Session("table") & "'"
        Dim myreader As SqlDataReader = q.GetDataReader(str)
        myreader.Read()
        dxi = myreader("单项选择题量")
        mxi = myreader("多项选择题量")
        pdi = myreader("判断题量")
        pxi = myreader("排序题量")
        myreader.Close()
        str = "select * from " & Session("table") & Session("username") & "暂时"
        myreader = q.GetDataReader(str)
        Dim i As Integer
        Panel2.Width = New Unit(700)
        Panel3.Width = New Unit(700)
        Panel4.Width = New Unit(700)
        Panel5.Width = New Unit(700)
        For i = 0 To dxi - 1
            myreader.Read()
            Dim tm As String = myreader("试题")
            Dim fs As Integer = myreader("试题分数")
            Dim an As String = myreader("答案")
            Dim t As New Label
            t.Width = New Unit(700)
            t.Text = (i + 1).ToString() & ".  " & tm & "   (" & fs & "分)"
            Panel2.Controls.Add(t)
            Dim r As New RadioButtonList
            r.Items.Add("A")
            r.Items.Add("B")
            r.Items.Add("C")
            r.Items.Add("D")
            r.RepeatDirection = RepeatDirection.Horizontal
            If Not (myreader("用户答案") Is DBNull.Value) Then
                Select Case myreader("用户答案")
                    Case "A"
                        r.SelectedIndex = 0
                    Case "B"
                        r.SelectedIndex = 1
                    Case "C"
                        r.SelectedIndex = 2
                    Case "D"
                        r.SelectedIndex = 3
                End Select
            End If
            dxt_result.Add(r)
            Panel2.Controls.Add(r)
            Dim t8 As New Literal
            t8.Text = "<br>" & "<br>"
            Panel2.Controls.Add(t8)
        Next
        For i = 0 To mxi - 1
            myreader.Read()
            Dim tm As String = myreader("试题")
            Dim fs As String = myreader("试题分数")
            Dim an As String = myreader("答案")
            Dim t As New Label
            t.Width = New Unit(700)
            t.Text = (i + 1).ToString() & ".  " & tm & "   (" & fs & "分)"
            Panel3.Controls.Add(t)
            Dim x As New Literal
            x.Text = "请输入答案:  "
            Dim t2 As New TextBox
            If Not (myreader("用户答案") Is DBNull.Value) Then
                t2.Text = myreader("用户答案")
            End If

            Panel3.Controls.Add(x)
            mxt_result.Add(t2)
            Panel3.Controls.Add(t2)
            Dim t8 As New Literal
            t8.Text = "<br>" & "<br>"
            Panel3.Controls.Add(t8)
        Next
        For i = 0 To pdi - 1
            myreader.Read()
            Dim tm As String = myreader("试题")
            Dim fs As String = myreader("试题分数")
            Dim an As String = myreader("答案")
            Dim t As New Label
            t.Width = New Unit(700)
            t.Text = (i + 1).ToString() & ".  " & tm & "   (" & fs & "分)"
            Panel4.Controls.Add(t)
            Dim r As New RadioButtonList
            r.Items.Add("对")
            r.Items.Add("错")
            If Not (myreader("用户答案") Is DBNull.Value) Then
                Select Case myreader("用户答案")
                    Case "对"
                        r.SelectedIndex = 0
                    Case "错"
                        r.SelectedIndex = 1
                End Select
            End If
            r.RepeatDirection = RepeatDirection.Horizontal
            pdt_result.Add(r)
            Panel4.Controls.Add(r)
            Dim t8 As New Literal
            t8.Text = "<br>" & "<br>"
            Panel4.Controls.Add(t8)
        Next
        For i = 0 To pxi - 1
            myreader.Read()
            Dim tm As String = myreader("试题")
            Dim fs As String = myreader("试题分数")
            Dim an As String = myreader("答案")
            Dim t As New Label
            t.Width = New Unit(700)
            t.Text = (i + 1).ToString() & ".  " & tm & "   (" & fs & "分)"
            Panel5.Controls.Add(t)
            Dim x As New Literal
            x.Text = "请输入答案:  "
            Panel3.Controls.Add(x)
            Dim t2 As New TextBox
            If Not (myreader("用户答案") Is DBNull.Value) Then
                t2.Text = myreader("用户答案")
            End If
            pxt_result.Add(t2)
            Panel5.Controls.Add(t2)
            Dim t8 As New Literal
            t8.Text = "<br>" & "<br>"
            Panel5.Controls.Add(t8)
        Next
        q.close()
    End Sub
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        If Not IsPostBack Then
            Try
                If (Session("userpower") <> 1) Then
                    Response.End()
                End If
            Catch ex As Exception
                Response.Write("您还登录,请您先登录<a href='Login.aspx'>首页</a>")
                Response.End()
            End Try

        End If
        first()
        Dim i As Integer
        Label1.Text = Session("table")


    End Sub

    Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
        Panel2.Visible = True
        Panel3.Visible = False
        Panel4.Visible = False
        Panel5.Visible = False
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Minute.Text) * 60 + CInt(Second.Text)).ToString()
    End Sub

    Private Sub LinkButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton2.Click
        Panel3.Visible = True
        Panel2.Visible = False
        Panel4.Visible = False
        Panel5.Visible = False
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Minute.Text) * 60 + CInt(Second.Text)).ToString()
    End Sub

    Private Sub LinkButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton3.Click
        Panel2.Visible = False
        Panel3.Visible = False
        Panel4.Visible = True
        Panel5.Visible = False
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Minute.Text) * 60 + CInt(Second.Text)).ToString()
    End Sub

    Private Sub LinkButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton4.Click
        Panel2.Visible = False
        Panel3.Visible = False
        Panel4.Visible = False
        Panel5.Visible = True
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Hour.Text) * 60 + CInt(Second.Text)).ToString
    End Sub
    Public Sub save()
        Dim q As New SqlClass
        q.Open()
        Dim str As String
        Dim i As Integer
        For i = 0 To dxt_result.Count - 1
            If dxt_result(i).selectedindex <> -1 Then
                str = "update " & Session("table") & Session("username") & "暂时 set 用户答案='" & dxt_result(i).selectedvalue & "' where ID=" & i + 1
                q.ExecuteSQL(str)
            End If
        Next
        Dim sum As Integer = dxt_result.Count
        For i = 0 To mxt_result.Count - 1
            If mxt_result(i).text <> "" Then
                str = "update " & Session("table") & Session("username") & "暂时 set 用户答案='" & mxt_result(i).text & "' where ID=" & sum + i + 1
                q.ExecuteSQL(str)
            End If
        Next
        sum += mxt_result.Count
        For i = 0 To pdt_result.Count - 1
            If pdt_result(i).selectedindex <> -1 Then
                str = "update " & Session("table") & Session("username") & "暂时 set 用户答案='" & pdt_result(i).selectedvalue & "' where ID=" & sum + i + 1
                q.ExecuteSQL(str)
            End If
        Next
        sum += pdt_result.Count
        For i = 0 To pxt_result.Count - 1
            If dxt_result(i).text <> "" Then
                str = "update " & Session("table") & Session("username") & "暂时 set 用户答案='" & pxt_result(i).text & "' where ID=" & sum + i + 1
                q.ExecuteSQL(str)
            End If
        Next
        str = "select 时间 from 试卷名称表 where 试卷名称='" & Session("table") & "'"
        Dim ti As Integer = q.GetInt(str)
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Minute.Text) * 60 + CInt(Second.Text)).ToString()
        str = "update 成绩登记表 " & " set 时间=" & ti - Session("time") & " where 试卷名称='" & Session("table") & Session("username") & "' and   当前状态='正在考试'"
        q.ExecuteSQL(str)
        q.close()
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        save()
        message("保存成功")
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Minute.Text) * 60 + CInt(Second.Text)).ToString()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        save()
        Session("time") = (CInt(Hour.Text) * 3600 + CInt(Minute.Text) * 60 + CInt(Second.Text)).ToString()
        Response.Redirect("user_result.aspx")

    End Sub

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -