Why do this error usually occur System.InvalidOperationException: Stack empty.
I am using a pre-defined stack in my vb.net code and I am pushing to it in a specific sub and in another sub I am reading the peek() and inserting it to database but when I click insert it says stack empty.
Dim s1 As Stack = New Stack()
Dim s2 As Stack = New Stack()
Protected Sub check(ByVal sender As Object, ByVal e As EventArgs)
Dim con As New SqlConnection
Dim Stri As String = "Data Source=SAYMIX\SAMI_SQL_SERVER;Initial Catalog=TES1;Integrated Security=True"
con = New SqlConnection(Stri)
con.Open()
Dim cmdqid As New SqlCommand
Dim rbl As RadioButtonList = CType(sender, RadioButtonList)
For Each rb As ListItem In rbl.Items
If rb.Selected = True Then
Session("rbtext") = rb.Text
Session("value") = rb.Value
cmdqid = New SqlCommand("SELECT quest.qid FROM quest WHERE quest.qdesc LIKE '" & Session("rbtext") & "' ", con)
Dim qid As Int16 = cmdqid.ExecuteScalar()
Session("qid") = qid
s2.Push(Session("qid"))
s1.Push(Session("value"))
con.Close()
End If
Next
End Sub
Protected Sub insertbtn(ByVal sender As Object, ByVal e As EventArgs)
Dim con As New SqlConnection
Dim Stri As String = "Data Source=SAYMIX\SAMI_SQL_SERVER;Initial Catalog=TES1;Integrated Security=True"
con = New SqlConnection(Stri)
con.Open()
Dim ins As New SqlCommand
Dim cmdcritid As New SqlCommand
Dim cmdqid As New SqlCommand
cmdqid = New SqlCommand("SELECT quest.qid FROM quest WHERE quest.qdesc LIKE '" & Session("rbtext") & "' ", con)
Dim qid As Int16 = cmdqid.ExecuteScalar()
cmdcritid = New SqlCommand("SELECT quest.critid FROM quest WHERE quest.qid= '" & qid & "' ", con)
Dim critid As Int16 = cmdcritid.ExecuteScalar()
ins = New SqlCommand("INSERT INTO [result](quid,did,critid,qid,pid,qvalue) values('" & DropDownList1.SelectedValue & "','" & DropDownList3.SelectedValue & "','" & critid & "','" & s2.Peek() & "','" & DropDownList2.SelectedValue & "','" & s1.Peek() & "')", con)
ins.ExecuteScalar()
con.Close()
End Sub
End Class