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

📄 default.aspx

📁 在线投票系统,上海水产大学信息学院我最喜爱老师评选活动
💻 ASPX
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<Script Language="VB" Runat="Server">
  Dim ConnString As String
  Dim DS As New DataSet()
  Dim objCmd As OleDbDataAdapter

  Sub CreateDataSet(strSQL As String, FileName As String, TableName As String)
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                  "Data Source=" & Server.MapPath(FileName)
    objCmd = New OleDbDataAdapter(strSQL, ConnString)
    objCmd.Fill(DS, TableName)
  End Sub

  Sub Page_Init(sender As Object, e As Eventargs)
    '添加第 1 行,并设置行属性
    Dim myTableRow As New TableRow()
    myTableRow.HorizontalAlign= HorizontalAlign.Center
    myTableRow.BackColor = System.Drawing.Color.Honeydew
    myTableRow.ForeColor = System.Drawing.Color.RoyalBlue

    '添加第 1 行第 1 个字段
    Dim myTableCell As New TableCell()
    myTableCell.Text = "候选人"
    myTableRow.Cells.Add(myTableCell)

    '添加第 1 行第 2 个字段
    myTableCell = New TableCell()
    myTableCell.Text = "候选人介绍"
    myTableRow.Cells.Add(myTableCell)

    '将添加的行加入表格中
    myTable.Rows.Add(myTableRow)

    '行出候选人清单
    CreateDataSet("Select * From 候选人名单", "data.mdb", "候选人名单")
    Dim I As Integer
    For I = 0 to DS.Tables("候选人名单").Rows.Count - 1

      '添加第 I + 2 行,并设置行属性
      myTableRow = New TableRow()
      myTableRow.BackColor = System.Drawing.Color.BlanchedAlmond

      '添加第 I + 2 行第 1 个字段
      myTableCell = New TableCell()
      Dim myCheckBox As New CheckBox()
      myCheckBox.Text = DS.Tables("候选人名单").Rows(I)("候选人")
      myTableCell.Controls.Add(myCheckBox)
      myTableRow.Cells.Add(myTableCell)

      '添加第 I + 2 行第 2 个字段
      myTableCell = New TableCell()
      myTableCell.Text = DS.Tables("候选人名单").Rows(I)("简介")
      myTableRow.Cells.Add(myTableCell)
      myTable.Rows.Add(myTableRow)

      '将添加的行加入表格中
      myTable.Rows.Add(myTableRow)
    Next

    '添加最后一行,并设置行属性
    myTableRow = New TableRow()
    myTableRow.HorizontalAlign= HorizontalAlign.Right
    myTableRow.BackColor = System.Drawing.Color.Honeydew
    myTableRow.ForeColor = System.Drawing.Color.RoyalBlue

    '添加一个字段
    myTableCell = New TableCell()
    myTableCell.ColumnSpan = 2

    '加入一个 Label 控件
    Dim myLabel As New Label()
    myLabel.Text = "请输入您的学生证号码:"
    myTableCell.Controls.Add(myLabel)

    '加入一个 TextBox 控件
    Dim myTextBox As New TextBox()
    myTextBox.Columns = 12
    myTableCell.Controls.Add(myTextBox)
    myTableRow.Cells.Add(myTableCell)

    '将添加的行加入表格中
    myTable.Rows.Add(myTableRow)
  End Sub

  Sub Voting(sender As Object, e As Eventargs)
    '取得学生证号码字段,并将之转换为 TextBox 控件
    Dim userId As TextBox = CType(myTable.Rows(myTable.Rows.Count - 1).Cells(0).Controls(1), TextBox)

    Dim strSQL As String = "Select * From 投票人名单 Where 学生证号码='" & userId.Text & "'"
    CreateDataSet(strSQL, "data.mdb", "投票人名单")

    '判断该学生证号码是否已经投过票
    If DS.Tables("投票人名单").Rows.Count <> 0 Then
      errMessage.Text = "学生证号码 " & userId.Text & " 已经投过票了"
    Else

      '指定 InsertCommand 属性及其参数
      objCmd.InsertCommand = New OleDbCommand()
      objCmd.InsertCommand.CommandText = "Insert Into 投票人名单(学生证号码) Values (?)"
      objCmd.InsertCommand.Connection = New OleDbConnection(ConnString)
      objCmd.InsertCommand.Parameters.Add("@学生证号码", OleDbType.VarChar, 10, "学生证号码")

      '指定 UpdateCommand 属性及其参数
      objCmd.UpdateCommand = New OleDbCommand()
      objCmd.UpdateCommand.CommandText = "Update 候选人名单 Set 得票数=?" & _
                                         "Where 候选人=?"
      objCmd.UpdateCommand.Connection = New OleDbConnection(ConnString)
      objCmd.UpdateCommand.Parameters.Add("@新票数", OleDbType.Single, Nothing, "得票数")
      objCmd.UpdateCommand.Parameters.Add("@候选人", OleDbType.Char, 15, "候选人")

      '将投票者的学生证号码加入【投票人名单】数据表
      Dim myRow As DataRow = DS.Tables("投票人名单").NewRow()
      myRow("学生证号码") = userId.Text
      DS.Tables("投票人名单").Rows.Add(myRow)

      '判断使用者投给哪些候选人,然后将被投票人的票数加 1
      Dim I As Integer
      For I = 0 To myTable.Rows.Count - 3 
        Dim myCheckBox As CheckBox = CType(myTable.Rows(I + 1).Cells(0).Controls(0), CheckBox)
        If myCheckBox.Checked Then
          DS.Tables("候选人名单").Rows(I)("得票数") += 1
        End If
      Next

      '将 DataSet 对象实例的数据更新至数据库
      objCmd.Update(DS, "投票人名单")
      objCmd.Update(DS, "候选人名单")
      Response.Redirect("Result.aspx")
    End If
  End Sub
</Script>
<Html>
  <Head>
    <Title>在线投票</Title>
  </Head>
  <Body Bgcolor="#FFFAF0">
    <P Align="Center"><Img Src="Title1.jpg"></P>
    <Form Runat="Server" >
      <Asp:Table Runat="Server" Id="myTable" Width="75%" HorizontalAlign="Center"
           BorderWidth="2" BorderColor="#999999" GridLines="Both" />
    <P Align="Center"> 
      <Asp:LinkButton Runat="Server" Text="投票" OnClick="Voting" />   
      <A Href="Result.aspx">观看投票结果</A><Br><Br>
      <Asp:Label Runat="Server" Id="errMessage" ForeColor="Red" />
    </P>
    </Form>
  </Body>
</Html>

⌨️ 快捷键说明

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