Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

checkbox problem

Îåêßíçóå áðü ôï ìÝëïò xakou. Τελευταία δημοσίευση από το μέλος xakou στις 01-04-2009, 21:43. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  31-03-2009, 22:18 49758

    checkbox problem

    Καλξησπέρα,

    στη ΒΔ που έχω στο site μου έχω το πεδίο ex1 δηλωμένο ως bit

     

    Στην σελίδα find.aspx.vb έχω:

    targetURL &= "&ex1=" & Server.UrlEncode(ex1.Checked)

    Response.Redirect(targetURL)

     

    Στην σελίδα results.aspx.vb έχω:

    Dim ex1 As String

     

    ex1 = Request.QueryString("ex1").ToString

     

    Dim strQuery As String = "select * from TableData where ex1=@ex1"

     

    If ex1 = True Then

    strQuery = strQuery & " and ex1=@ex1 "

    End If

     

    Σε debug που το έτρεξα ολοκληρώνει τη διαδικασία, αλλά δεν έχω τις σωστές τιμές στο αποτέλεσμα του query, γιατί;

     

     

     

  •  01-04-2009, 13:57 49770 σε απάντηση της 49758

    Re: checkbox problem

    Χωρίς να θέλω να γίνω σπαστικός, δεν μας περιγράφεις λίγο καλύτερα τι θέλεις να κανεις γιατί ο κώδικας που παραθέτεις από πάνω έχει αρκετές "αμαρτίες"
    The people of the straight land have really got it made, a warm friendly sleep from the craddle to the grave
  •  01-04-2009, 14:29 49773 σε απάντηση της 49770

    Απ: Re: checkbox problem

    Ας γίνω λίγο πιο αναλυτικός.

    Μια σελίδα έχει κάποια 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.

     

    Δεν μπορώ να καταλάβω που κάνω λάθος.....

     

  •  01-04-2009, 20:16 49781 σε απάντηση της 49773

    Απ: Re: checkbox problem

    Ένα ακόμα παράδειγμα για να σας εξηγίσω:

    Αυτό δουλεύει:

    Dim strQuery As String = "select * from TableData where blabla=@blabla and  ex1='True'" 

     

    Αυτό ΔΕΝ δουλεύει:

     Dim strQuery As String = "select * from TableData where blabla=@blabla " 

    If ex1 = True Then

    strQuery = strQuery & " and ex1='True' "

    End If

     

    Το παραπάνω πρόβλημα το έχω μόνο στα checkbox.

  •  01-04-2009, 21:43 49782 σε απάντηση της 49781

    Απ: Re: checkbox problem

    Το βρήκα, απλό αλλά δεν το έβλεπα.... (όπως και εσείς γιατί δεν το έγραψα)

    Dim strQuery As String = "select * from .....

     

    Dim cmd As New SqlCommand(strQuery)

     

    If Fex1 = True Then

    strQuery = strQuery & " and ex1='True' "

    End If

     

    Το σωστό είναι:

     

    Dim strQuery As String = "select * from .....

     

    If Fex1 = True Then

    strQuery = strQuery & " and ex1='True' "

    End If

     

    Dim cmd As New SqlCommand(strQuery)  ' ΝΑ ΜΠΕΙ ΜΕΤΑ !!!!!!!!!!!!!!!!!!!!

     

     

     

     

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems