Solved

voting poll

Posted on 2009-07-16
7
287 Views
Last Modified: 2012-05-07
I have a poll when I test it. no matter what option I select it always votes value 1. not sure whats wrong. and when I add the cookie to record the vote it does not vote at all.  But for now I just need to know why it only votes for value one.


stored procedure

       (
       @Pk_OptionId  INT
       )
 
AS
--     GETS THE CURRENT NUMBER OF VOTES FOR THAT OPTION
       DECLARE      @i_NumberOfVoteS INT
       
       SELECT @i_NumberOfVotes = Votes
       FROM   PollOptions
       WHERE  PK_OptionId = @Pk_OptionId
 
       UPDATE PollOptions
       SET           Votes = (@i_NumberOfVotes + 1)
       WHERE  PK_OptionId = @Pk_OptionId
 
       RETURN



Protected Sub btnVote_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVote.Click
        RecordVote()
 
        'If Response.Cookies("Voted") Is Nothing Then
        '    Response.Cookies("Voted").Value = "Voted"
        '    Response.Cookies("Voted").Expires = DateTime.Now.AddDays(1)
 
        '    lblError.Visible = False
 
        '    '   Checks if the user can still vote by using cookie
        '    RecordVote()
        'Else
        '    lblError.Visible = True
        'End If
        'Response.Write(Response.Cookies("Voted"))
        '' Response.Redirect("test.aspx")
    End Sub
 
    Private Sub RecordVote()
        Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("Conn").ToString()
        Dim sqlConn As New SqlConnection(strConnString)
 
        sqlConn.Open()
        Dim sqlCmd As New SqlCommand()
 
        sqlCmd.CommandText = "IncrementVote"
        sqlCmd.CommandType = Data.CommandType.StoredProcedure
        sqlCmd.Connection = sqlConn
 
        '   Creation parameters
        Dim sqlParamQuestion As New SqlParameter("@PK_OptionId", Data.SqlDbType.Int)
 
        sqlParamQuestion.Value = rdoPollOptionList.SelectedValue
 
        sqlCmd.Parameters.Add(sqlParamQuestion)
 
        '   Execute stored procedure
        sqlCmd.ExecuteNonQuery()
 
        '   Close connection
        sqlConn.Close()
    End Sub
0
Comment
Question by:sevensnake77
  • 4
  • 3
7 Comments
 
LVL 41

Expert Comment

by:guru_sami
ID: 24870255
Here are troubleshooting options:
1: Execute your StoredProc directly from SqlServer and see if it is working as desired.
2: set breakpoint at line:
------> sqlParamQuestion.Value = rdoPollOptionList.SelectedValue
Confirm the "rdoPollOptionList.SelectedValue" has desired value.

Post your observations.
Now a question: How is your rdoPollOptionList DataBound? i.e. dynamically in code-behind?
If so post that code....make sure that you DataBind it once only i.e. Not Page.IsPostBack.
0
 
LVL 9

Author Comment

by:sevensnake77
ID: 24870471
I excuted the stored procedure that works great.

I used
  If Page.IsPostBack Then
            ' RecordVote()
            Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("Conn").ToString()
            Dim sqlConn As New SqlConnection(strConnString)

            sqlConn.Open()
            Dim sqlCmd As New SqlCommand()

            sqlCmd.CommandText = "IncrementVote"
            sqlCmd.CommandType = Data.CommandType.StoredProcedure
            sqlCmd.Connection = sqlConn

            '   Creation parameters
            Dim sqlParamQuestion As New SqlParameter("@PK_OptionId", Data.SqlDbType.Int)

            sqlParamQuestion.Value = rdoPollOptionList.SelectedValue

            sqlCmd.Parameters.Add(sqlParamQuestion)

            '   Execute stored procedure
            sqlCmd.ExecuteNonQuery()

            '   Close connection
            sqlConn.Close()

instead of not Page.ispostback because the other way did not execute.

But it only finds Value 1 not value 2, 3 ect.



0
 
LVL 41

Accepted Solution

by:
guru_sami earned 500 total points
ID: 24870537
yes but how is your rdoPollOptionList getting its values?
Anythingin your Page_Load method?
Also you misunderstood ...i did NOT mean to put your StoredProc call into IsPostback....that call is fine....
What I am asking is about your RadioButtonList....how is it getting the option values?
Can you share all code related to your RBL
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 9

Author Comment

by:sevensnake77
ID: 24870542
Private Sub DisplayPoll()
        Try
            Dim ds As DataSet = getActivePoll()

            '   Displays the poll
            lblPollQuestion.Text = ds.Tables(0).Rows(0)("Question")

            Dim i As Integer = 0
            For Each dr As DataRow In ds.Tables(1).Rows
                rdoPollOptionList.Items.Add(dr("Answer"))
                rdoPollOptionList.Items(i).Value = dr("PK_OptionId")
                rdoPollOptionList.SelectedIndex = 0

                i = i + 1
            Next
        Catch ex As Exception
            Throw ex
        End Try

    End Sub


0
 
LVL 9

Author Comment

by:sevensnake77
ID: 24870563
The radio button is getting the option value from the database.


0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24870575
where are you calling this DisplayPoll() ?
Put the Call to this method in If Not Page.IsPostBack
0
 
LVL 9

Author Comment

by:sevensnake77
ID: 24870588
Anythingin your Page_Load method?  found it thanks
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now