Ας γίνω λίγο πιο αναλυτικός.
Μια σελίδα έχει κάποια check-boxes. Clickαροντας κάποια από αυτά και πατόντας το submit button μεταφέρει τα δεδομένα στην επόμενη σελίδα (results.aspx)
Το πεδίο ΕΧ1 στη ΒΔ είναι bit.
Μεταφέρω τα δεδομένα από τη σελίδα find.aspx στη σελίδα results.aspx έτσι:
targetURL &= "&ex1=" & Server.UrlEncode(ex1.Checked)
Response.Redirect(targetURL)
Στη συνέχεια στη σελίδα results έχω τον παρακάτω κώδικα για να κάνω request τα δεδομένα με query από τη ΒΔ:
Dim ex1 As String
ex1 = Request.QueryString("ex1").ToString
Dim strQuery As String = "select * from TableData where mplampla=@mplampla "
If ex1 = True Then
strQuery = strQuery &
" and ex1=@ex1 "
End If
Η παραπάνω εντολή "κανονικά", όταν η συνθήκη είναι True, πρέπει να προσθέθει στο Query String και να γίνει : select * from TableData where mplampla=@mplampla and ex1=@ex1
Και όντως έτσι γίνετε.... Το βλέπω στο debug. Επίσης παίρνει και την τιμή TRUE το @ex1 , αλλά δεν προβάλει τα σωστά δεδομένα, προβάλει όλα!
Αν τώρα πάω και γράψω "χεράτα" select * from TableData where mplampla=@mplampla and ex1='True' τότε η εντολή εκτελείται κανονικά και προβάλει μόνα τα δεδομένα που έχουν ex1=TRUE.
Δεν μπορώ να καταλάβω που κάνω λάθος.....