📄 default.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 + -