ASP.NET [ OPINION POLLS ] A Very Simple but usefull ASP.NET Opinion poll example. Create a folder called polls in your "c:/Inetpub/wwwroot" and to test the polls open your web browser and type "http://localhost/polls/Default.aspx". Put all the files listed below in the folder listed above. [bold]Default.aspx[/bold] <!%@ import Namespace="Sys ...
J.Ramkrshna Murty - [ASP.NET Opinion Polls - Ver1.0] Default.aspx
<!-- asp @ Page Language = "vb" Explicit = "true" Debug = "true" --> <!-- asp @ Import Namespace = "System.Text" --> <!-- asp @ import Namespace = "System.Data" --> <!-- asp @ import Namespace = "System.Data.OleDb" --> < script language = "VB" runat = "server" > Sub Page_Change ( sender As Object , e As DataGridPageChangedEventArgs ) MyDataGrid . CurrentPageIndex = e . NewPageIndex BindData () End Sub Sub Page_Load ( Source As Object , E As EventArgs ) If Not Page . IsPostBack Then BindData () End If If Page . IsPostBack Then End If End Sub Sub BindData () '1. Create a connection Dim objConn objConn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("polls.mdb") & ";") objConn.Open ' 2. Create a command object for the query Const strSQL as String = "select * from polls where currentquestion=0" Dim objCmd as New OleDbCommand ( strSQL , objConn ) ' 3. Create/Populate the DataReader Dim objDR as OleDbDataReader objDR = objCmd.ExecuteReader() MyDataGrid.DataSource = objDR MyDataGrid.DataBind() End Sub </script></p> <datagrid id="MyDataGrid" width="50%" runat="server" cellspacing="0" cellpadding="0" gridlines="Both" borderwidth="0" headerstyle-backcolor="white" headerstyle-font-name="Arial" headerstyle-font-bold="True" headerstyle-font-size="14" backcolor="white" font-name="Arial" font-size="11" alternatingitemstyle-backcolor="white" alternatingitemstyle-font-name="Arial" alternatingitemstyle-font-size="11" bordercolor="white" allowpaging="false" allowcustompaging="false" pagesize="8" pagerstyle-mode="NumericPages" pagerstyle-horizontalalign="Center" pagerstyle-pagebuttoncount="10" onpageindexchanged="Page_Change" autogeneratecolumns="False" /> <columns /> <templatecolumn /> <itemtemplate /> <div runat="server"> <form id="sample1" action="results.aspx" method="get"> <table cellspacing="1" cellpadding="4" bgcolor="#ffffff" border="2"> <tbody> <tr> <td bordercolor="#ff9900" width="384" bgcolor="#ff9900"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff" size="2">ASP.NET - Opinion Polls - Ver1.0</font> </strong></div></td></tr> <tr> <td> <table cellspacing="0" cellpadding="5" width="100%" border="0"> <tbody> <tr> <td colspan="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "question") --> </font></td></tr> <tr> <td width="11%"> <input id="pollid" type="hidden" value="<!--asp# DataBinder.Eval(Container.DataItem, " name="pollid" />"> <input type="radio" value="Choice1,<!--asp# DataBinder.Eval(Container.DataItem, " name="choice" />"></td> <td width="89%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice1") --></font> </td></tr> <tr> <td> <input type="radio" value="Choice2,<!--asp# DataBinder.Eval(Container.DataItem, " name="choice" />"></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice2") --> </font></td></tr> <tr> <td> <input type="radio" value="Choice3,<!--asp# DataBinder.Eval(Container.DataItem, " name="choice" />"></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice3") --> </font></td></tr> <tr> <td> <input type="radio" value="Choice4,<!--asp# DataBinder.Eval(Container.DataItem, " name="choice" />"></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice4") --></font> <input id="submit" type="submit" value="Vote" /> </td></tr></tbody></table></td></tr></tbody></table>
results.aspx
<!-- asp @ Page Language = "vb" Explicit = "true" Debug = "true" --> <!-- asp @ Import Namespace = "System.Text" --> <!-- asp @ import Namespace = "System.Data" --> <!-- asp @ import Namespace = "System.Data.OleDb" --> < script language = "VB" runat = "server" > Sub Page_Change ( sender As Object , e As DataGridPageChangedEventArgs ) BindData () End Sub Sub Page_Load ( Source As Object , E As EventArgs ) If Not Page . IsPostBack Then BindData () End If End Sub Sub BindData () '1. Create a connection Dim objConn objConn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("polls.mdb") & ";") ' You must open the db connection before populating the DataReader objConn . Open () Dim strSQL as String strSQL = "select * from polls where currentquestion=" & Request . querystring ( "pollid" ) Dim objCmd as New OleDbCommand ( strSQL , objConn ) '3. Create/Populate the DataReader Dim objDR as OleDbDataReader objDR = objCmd.ExecuteReader() MyDataGrid.DataSource = objDR MyDataGrid.DataBind() ' 4.Updating Polls '5. Create a New connection Dim objConn1 objConn1=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("polls.mdb") & ";") Dim votevalue Dim ChoiceValue Dim VotedFor ChoiceValue=(left(request.QueryString("choice"),7)) if choiceValue="Choice1" then VotedFor="Votes1" else if choiceValue="Choice2" then VotedFor="Votes2" else if choiceValue="Choice3" then VotedFor="Votes3" else if choiceValue="Choice4" then VotedFor="Votes4" end if votevalue=(Cint(right(request.QueryString("choice"), (len(request.QueryString("choice"))-8)))+1) ' 2. Create the command object , passing in the SQL string Dim strSQL1 as String = "update polls set " & VotedFor & "=" & votevalue + 1 & " where currentquestion=" & Request . querystring ( "pollid" ) & "" Dim myCommand as New OleDbCommand ( strSQL1 , objConn1 ) objConn1 . Open () myCommand . ExecuteReader ( CommandBehavior . CloseConnection ) End Sub </script> </div> <datagrid id="MyDataGrid" width="50%" runat="server" cellspacing="0" cellpadding="0" gridlines="Both" borderwidth="0" headerstyle-backcolor="white" headerstyle-font-name="Arial" headerstyle-font-bold="True" headerstyle-font-size="14" backcolor="white" font-name="Arial" font-size="11" alternatingitemstyle-backcolor="white" alternatingitemstyle-font-name="Arial" alternatingitemstyle-font-size="11" bordercolor="white" allowpaging="false" allowcustompaging="false" pagesize="8" pagerstyle-mode="NumericPages" pagerstyle-horizontalalign="Center" pagerstyle-pagebuttoncount="10" onpageindexchanged="Page_Change" autogeneratecolumns="False" /> <columns /> <templatecolumn /> <itemtemplate /> <div runat="server"> <table cellspacing="1" cellpadding="4" bgcolor="#ffffff" border="2"> <tbody> <tr> <td bordercolor="#ff9900" width="384" bgcolor="#ff9900"> <div align="center"><strong> <font face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff" size="2">ASP.NET - Opinion Polls - Ver1.0</font></strong></div> </td></tr> <tr> <td> <table cellspacing="0" cellpadding="5" width="100%" border="0"> <tbody> <tr> <td width="72%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><!--asp# DataBinder.Eval(Container.DataItem, "choice1")--> </font></td> <td width="28%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp#Cint(DataBinder.Eval(Container.DataItem, "votes1")/ (DataBinder.Eval(Container.DataItem, "votes1")+ DataBinder.Eval(Container.DataItem, "votes2")+ DataBinder.Eval(Container.DataItem, "votes3")+ DataBinder.Eval(Container.DataItem, "votes4"))*100)-->% </font></td></tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice2")--> </font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp#Cint(DataBinder.Eval(Container.DataItem, "votes2")/ (DataBinder.Eval(Container.DataItem, "votes1")+ DataBinder.Eval(Container.DataItem, "votes2")+ DataBinder.Eval(Container.DataItem, "votes3")+ DataBinder.Eval(Container.DataItem, "votes4"))*100)-->% </font></td></tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice3")--></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# Cint(DataBinder.Eval(Container.DataItem, "votes3")/ (DataBinder.Eval(Container.DataItem, "votes1")+ DataBinder.Eval(Container.DataItem, "votes2")+ DataBinder.Eval(Container.DataItem, "votes3")+ DataBinder.Eval(Container.DataItem, "votes4"))*100)-->% </font></td></tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# DataBinder.Eval(Container.DataItem, "choice4")--></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <!--asp# Cint(DataBinder.Eval(Container.DataItem, "votes4")/ (DataBinder.Eval(Container.DataItem, "votes1")+ DataBinder.Eval(Container.DataItem, "votes2")+ DataBinder.Eval(Container.DataItem, "votes3")+ DataBinder.Eval(Container.DataItem, "votes4"))*100)-->% </font></td></tr></tbody></table> </td></tr></tbody></table></div> <div runat="server"> </itemtemplate /> </templatecolumn /> </columns /> </datagrid />
polls.mdb
id
-------------------------------- Number pollsessionid --------------------- Number question -------------------- Text polldate ------------------- Text choice1 ------------------- Text choice2 ------------------- Text choice3 -------------------- Text choice4 ------------------- Text votes1--------------------- ( Number ) votes2 --------------------- ( Number ) votes3 --------------------- ( Number ) votes4 --------------------- ( Number ) currentquestion --------------------- ( Yes / No )
Please enable JavaScript to view the comments powered by Disqus. blog comments powered by