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

 

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

Πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE '*product*'"

Îåêßíçóå áðü ôï ìÝëïò angarato_surion. Τελευταία δημοσίευση από το μέλος cap στις 16-07-2006, 20:37. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-07-2006, 06:04 14796

    Πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE '*product*'"

    Να κάνω πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE 'product*'".

    γιατι θελω να κανω το παραπανω;

    απλως θελω να κανω μια μεθοδο που να παιρνει της γραμμες που αρχιζουν με μια τιμη ή οποια της δινεται απο τον χρηστη, το εκανα με την εντολη select βαζωντας την εκφραση "ItemName LIKE 'product*'" αλλα δυστυχως κρατησε και τις ασχετες .

    Δηλ θελω η συναρτηση να κρατα οτιδηποτε αρχιζει με την λεξη product και να σβηνει τα αλλα μια και δεν μπορω να κανω νεο πινακα με τις ιδιες στηλες πετα σφαλματα (εξερεσεις) καμια ιδεα; προς το παρον το εκανα να αφαιρει τα στοιχεια που λίγουν σε product

    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  16-07-2006, 12:04 14799 σε απάντηση της 14796

    Απ: Πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE '*product*'"

    Δεν μπορώ να πω οτι κατάλαβα 100%. Εχεις μια στήλη ItemName η οποία περιέχει ονόματα προϊόντων που ξεκινούν ή τελειώνουν σε "product" και θέλεις να κρατήσεις αυτά που ξεκινούν από τη λέξη product (Υποθέτω οτι το "product" είναι μια δοκιμαστική τιμή που έχεις βάλει σε κάποιες γραμμές και - δοκιμαστικά - ως user input δίνεις κάποια τέτοια τιμή, παλι).

    Αλλα θέλεις μια μέθοδο που να διαλέγει τις γραμμές που αρχίζουν με την τιμή που δόθηκε από το χρήστη. Αυτό το κάνεις με WHERE ItemName LIKE 'product%' αν χρησιμοποιείς SQL Server (δεν μας το προσδιορίζεις). Προσοχή, στον SQL Server είθισται ως wildcard character να χρησιμοποιούμε % και όχι *.

    Αλλά γιατί θέλεις την ΑΡΝΗΣΗ της έκφρασης; Η άρνηση θα σου φέρει όλες τις τιμές που ΔΕΝ ξεκινάνε από product.

    Ορισμένες γενικές παρατηρήσεις (τόσο για την παρούσα δημοσίευση όσο και για αρκετές άλλες δημοσιεύσεις που έχουν γίνει από διάφορους συναδέλφους)

    - Να είστε σαφείς στο τι θέλετε να κάνετε

    - Να προσδιορίζετε επακριβώς τις πλατφόρμες/εργαλεία που χρησιμοποιείτε

    - Να προσπαθείτε να κάνετε τις δημοσιεύσεις σας στη σωστή περιοχή συζητήσεων. Η παρούσα δημοσίευση πρωτοεμφανίστηκε στην περιοχή ".NET Framework" αλλά δεν είμαι σίγουρος αν θα έπρεπε να μεταφερθεί σε κάποια άλλη περιοχή. Χρειαζομαστε περισσότερες πληροφορίες για αυτό.


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  16-07-2006, 16:32 14803 σε απάντηση της 14799

    Απ: Πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE '*product*'"

    το εκανα τελικα ηθελα να διαγραψω τις γραμμες που αντιστοιχουν στην αρνση του "ItemName LIKE 'product*'"
    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  16-07-2006, 20:37 14807 σε απάντηση της 14803

    Απ: Πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE '*product*'"

    Θεωρώ οτι είναι χρήσιμο να επεκτείνω τις παρατηρήσεις που έδωσα σε προηγούμενο μήνυμα σχετικά με τον τρόπο υποβολής δημοσιεύσεων και το βαθμό λεπτομέρειας, ωστε να ενημερωθούν οι υπόλοιποι συνάδελφοι. Γι'αυτό, για πρώτη φορά, δεν στέλνω αυτού του είδους τις παρατηρήσεις σε προσωπικό μήνυμα αλλα τις δημοσιεύω στα πλαίσια της παρούσας δημοσίευσης.

    1. Σαφήνεια θέματος

    Στο θέμα του μηνύματος η πρωτότυπη ερώτηση ήταν Να κάνω πως μπορω να επιλεξω της γραμμες που ικανοποιυον την αρνηση της εκφρασης "ItemName LIKE '*product*'". Αφού διεγράφησαν οι λέξεις "Να κάνω" που δεν είχαν νόημα, το θέμα είναι αυτό που βλέπουμε και τώρα. Περαν των ορθογραφικών σφαλμάτων τα οποία δυσχεραίνουν ελαφρώς την ανάγνωση, αλλα από μόνα τους δεν αποτελούν το κυρίως πρόβλημα, παρατηρησα το εξής: Η ερώτηση στο θέμα αφορά την έκφραση "ItemName LIKE '*product*'". Η ερώτηση στο κυρίως κείμενο της δημοσίευσης αφορά την έκφραση "ItemName LIKE 'product*'". (Προσέξτε το αστεράκι πριν τη λέξη product). Αν διαβάσει κανείς το θέμα, θα δώσει διαφορετική απάντηση από ο,τι αν διαβάσει αυτό που περιγράφεται στο κυρίως κειμενο επειδή άλλο '*product*' (οτιδήποτε ΠΕΡΙΕΧΕΙ τη λέξη product) και άλλο 'product*' (οτιδήποτε ΞΕΚΙΝΑΕΙ με τη λέξη product).

    Η ερώτηση συνεχίζει με το εξής κείμενο:

    απλως θελω να κανω μια μεθοδο που να παιρνει της γραμμες που αρχιζουν με μια τιμη ή οποια της δινεται απο τον χρηστη, το εκανα με την εντολη select βαζωντας την εκφραση "ItemName LIKE 'product*'" αλλα δυστυχως κρατησε και τις ασχετες .

    Εύλογες απορίες αναγνώστη:

    "Θελω να κάνω μια μέθοδο": Αυτό σημαίνει οτι ο ερωτών μιλάει προφανώς για κάποια υλοποίηση σε γλώσσα προγραμματισμού και όχι σε SQL. Δεν μας το ξεκαθαρίζει όμως πλήρως, απλά υπονοείται και εμείς το υποθέτουμε.
    "που να παίρνει τις γραμμές": Αυτό, πάλι υπονοεί οτι μιλούμε για γραμμές (rows) καποιου πίνακα από μια βάση δεδομένων. Ακόμα όμως δεν γνωρίζουμε αν ο ερωτών θέλει απάντηση σχετικά με κάποιο query. Υποθέτουμε οτι αυτό ζητάει.
    "που αρχίζουν με μια τιμή η οποία της δίνεται από το χρήστη": Προφανώς υποθέτουμε οτι μιλάει για τη μέθοδο.
    "το έκανα με την εντολή select": Μα τι γίνεται; Τώρα δεν μιλούσαμε για μέθοδο; Πήγαμε πάλι σε query. Υποθέτουμε λοιπόν οτι η υλοποιηση αφορά στο query τελικώς.
    "βάζοντας την έκφραση ItemName LIKE 'product*'": Τώρα, έχουμε πραγματικά γραμμές που ξεκινάνε με τη λέξη product, ή η λέξη product αποτελεί ΠΑΡΑΔΕΙΓΜΑ user input (ας μην ξεχνάμε οτι ο ερωτών ζητάει να φτιάξει μια μέθοδο που να παίρνει τιμές από το χρήστη). Δεν μας το ξεκαθαρίζει και αυτό, το υποθέτουμε.
    "αλλα δυστυχώς κράτησε και τις άσχετες": Υποθέτουμε και πάλι οτι οι "ασχετες" είναι οι γραμμές που δεν ξεκινούν απο product, οπου product ΥΠΟΘΕΤΟΥΜΕ οτι είναι η τιμή που δόθηκε από το χρήστη.

    Ετσι λοιπόν σε μια πρόταση 1-2 γραμμών έχουμε ήδη 6-7 υποθέσεις. Αυτό μας δίνει απειρα σενάρια τα οποία μπορούμε να απαντήσουμε, αν σκεφτούμε οτι μπορεί να έχουμε κάνει λάθος σε μια ή περισσότερες από τις υποθέσεις .

    Συνεχίζω με την επόμενη πρόταση:

    Δηλ θελω η συναρτηση να κρατα οτιδηποτε αρχιζει με την λεξη product και να σβηνει τα αλλα μια και δεν μπορω να κανω νεο πινακα με τις ιδιες στηλες πετα σφαλματα (εξερεσεις) καμια ιδεα; προς το παρον το εκανα να αφαιρει τα στοιχεια που λίγουν σε product

    Για να μην προβώ σε παρόμοια λεπτομερή ανάλυση, να πω οτι το "δηλαδή" εδώ μας μπερδεψε ακόμα περισσότερο. Συναρτηση, πίνακας, στήλες, εξαιρέσεις, και στο τέλος κάτι τελείως αντίθετο με αυτό που ζητείται. ΥΠΟΘΕΤΟΥΜΕ οτι ο ερωτών θέλει μια συνάρτηση που ΥΠΟΘΕΤΟΥΜΕ οτι χρησιμοποιεί SQL Queries και να ζητάει οτιδήποτε αρχίζει από product από κάποια βάση (ΥΠΟΘΕΤΟΥΜΕ οτι το product ειναι η λεκτική τιμή που δόθηκε ως παράμετρο στη συνάρτηση) και ΥΠΟΘΕΤΟΥΜΕ οτι θέλει ταυτόχρονα να σβήνει και τις γραμμές που δεν ξεκινούν με τη λέξη product (τελικά η συνάρτηση θα ανακτά ή θα σβήνει δεδομένα ή και τα δύο μαζί; και γιατί εδώ μιλάμε για πράγματα που αρχίζουν από product ενώ στο θέμα της δημοσίευσης μιλάμε για πράγματα που ΠΕΡΙΕΧΟΥΝ τη λέξη product; ) Η δημιουργία νέου πίνακα με τις ίδιες στήλες είναι κάτι που δεν καταλαβαίνουμε και οι εξαιρέσεις επίσης. Τωρα γιατί ο ερωτών τελικά αφαιρεί τα στοιχεια που ΛΗΓΟΥΝ σε product ....πρεπει να ενεργοποιήσουμε αλλα συστήματα για να το αντιληφθούμε μια και δεν μας το εξηγεί.

    2. Κατάληξη θέματος

    ΣΤΟ ΤΕΛΟΣ ο ερωτών μας ενημερώνει οτι "το έκανε" Δεν μας εξηγεί ΤΙ εκανε σε σχεση με αυτό που ρωτησε και ΠΩΣ το έκανε, ωστε να καταλάβουμε. Συν τοις άλλοις ο ερωτών δεν έκλεισε τη δημοσίευση χαρακτηρίζοντάς την ως "Εχει επιλυθεί".

    3. Τοποθέτηση θέματος

    Περαν αυτού, ο ερωτών τοποθέτησε τη δημοσίευση στην ενότητα .NET Framework ενώ η δημοσίευση θα έπρεπε να είχε τοποθετηθεί (εκτιμώ) στην ενότητα SQL Server και άλλες databases (μια και ΥΠΟΘΕΤΟΥΜΕ για άλλη μια φορά οτι μιλούμε για την περίπτωση του πως γίνεται ενα WHERE σε κάποια database).

    Συνοψη

    Συνοψίζοντας, χαρακτηρίζω τη συγκεκριμένη δημοσίευση "απαράδεκτη" (από τις επιλογές αξιολόγησης) από πλευράς περιεχομένου αλλά και τρόπου υποβολής. Θα ήθελα να παρακαλέσω όλους τους συναδέλφους με την ευκαιρία αυτού του σχολιασμού να είναι όσο το δυνατόν πιό σαφείς στις ερωτήσεις τους και όσο το δυνατόν πιό συνεπείς στο χαρακτηρισμό των δημοσιεύσεων που ξεκινούν (εχει/δεν έχει επιλυθεί) και στην τοποθέτησή τους σε αντίστοιχες περιοχές. Αν δείχνετε οτι βαριέστε να γράψετε λίγα λόγια ακόμα, οι πιθανότητες είναι οτι και οι άλλοι συνάδελφοι θα βαρεθούν να σας απαντήσουν.

    Ζητώ συγνώμη για το αυστηρό ύφος και το μακροσκελές κείμενο. Πιστεύω όμως οτι ήταν απαραίτητο, αν επιθυμούμε να διατηρήσουμε την ποιότητα που μας χαρακτηρίζει ως κοινότητα.

     

     

     

     

     

     

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

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