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

 

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

Select Distinct σε Datatable

Îåêßíçóå áðü ôï ìÝëïò georgini. Τελευταία δημοσίευση από το μέλος micfarmakis στις 07-05-2008, 13:45. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  07-08-2007, 16:38 34198

    Select Distinct σε Datatable

    Καλησπέρα στους εναπομείναντες ήρωες!

    Το πρόβλημα μου Αυγουστιάτικα είναι το εξής:

    Έχω ένα DataTable με ας πούμε 15 κολώνες και όσες γραμμές μπορούν να γίνονται κάθε φορά Select

    Θέλω να πάρω με κάποιο τρόπο τα Distict Values σε μιά από τις κολώνες.

    Υπάρχει κάτι απλό και εύκολο;

    Ευχαριστώ Paradise!

     

  •  07-08-2007, 23:05 34212 σε απάντηση της 34198

    Απ: Select Distinct σε Datatable

    Δυστηχώς "the hard way". Δεν ξέρω αν με linq υπάρχει τίποτα. Αλλά φαντάζομαι ότι το θέλεις σε .NET 2 έτσι κι αλλιώς.

    Οπότε... στο περίπου

    1) αρχικοποίηση ArrayList
    2) loop στο table και
    3) if (!mylist.contains(row.Item[myColumn])) mylist.add(row.item[myColumn])
     


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  08-08-2007, 08:29 34224 σε απάντηση της 34212

    Απ: Select Distinct σε Datatable

    Sad Είπα μπας και υπήρχε τρόπος να  γλιτώσω το the Hard Way!

    Δε πειράζει! Ευχαριστώ Δημήτρη!

  •  05-05-2008, 13:33 41793 σε απάντηση της 34224

    Απ: Select Distinct σε Datatable

    Επαναφέρω το θέμα. Υπάρχει κανένα νέο από το μέτωπο (βλέπε linq) που θα μας σώσει????  Hmm

    Manos
  •  05-05-2008, 14:08 41794 σε απάντηση της 41793

    Απ: Select Distinct σε Datatable

    Αν κατάλαβα σωστά... νομίζω ότι αυτό πρέπει να είναι ok

    var results = from row in dataSet.Tables[0].AsEnumerable()
                   group row by row.Field<string>("Name") into g
                   select g.Key;


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  05-05-2008, 14:33 41795 σε απάντηση της 41794

    Απ: Select Distinct σε Datatable

    Ευχαριστώ Palladin για την απάντηση σου. Θα το δοκιμάσω.
    Από άποψη Performance επειδή φαντάζομαι ότι κάνει εσωτερικά Loop κερδίζεις τίποτα??
    ή απλώς γλιτώνεις το μπελά να κάνεις μόνο σου το κέρσορα



    Manos
  •  05-05-2008, 14:47 41796 σε απάντηση της 41795

    Απ: Select Distinct σε Datatable

    Το statement αυτό εφαρμόζεται επάνω σε datatable οπότε γίνεται offline. Άλλωστε αυτό είναι και το θέμα του thread "Select Distinct σε Datatable". Οπότε δεν υπάρχει θέμα cursor.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  05-05-2008, 16:10 41797 σε απάντηση της 41796

    Απ: Select Distinct σε Datatable

    Dimitris Papadimitriou:
    Το statement αυτό εφαρμόζεται επάνω σε datatable οπότε γίνεται offline. Άλλωστε αυτό είναι και το θέμα του thread "Select Distinct σε Datatable". Οπότε δεν υπάρχει θέμα cursor.

    Δημήτρη με τον cursor εννούσα με το Loop στο datatable. Δηλαδή είναι πιο γρήγορο με το Loop στο datatable ή με το LINQ????
    Πχ το foreach είναι πιο αργό από το αν κάνεις Loop χρησιμοποιώντας for και το index του datatable

    Manos
  •  05-05-2008, 17:20 41798 σε απάντηση της 41797

    Απ: Select Distinct σε Datatable

    Φιλε Μάνο...
    Όντως "μπορεί" και να στοιχίζει...αλλα το να το κανεις με for και indexer είναι σίγουρα micro-optimization...
    Πάντως, έχουν προβλέψει διαφορα common optimizations, π.χ στο group by χρησιμοποιούν Dictionary για το grouping

    Γενικά, η δικια μου φιλοσοφία είναι
    Beautiful Code First
    και το LINQ βοηθάει αρκετά


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  05-05-2008, 19:08 41800 σε απάντηση της 41798

    Απ: Select Distinct σε Datatable

    Τώρα που το ξαναβλέπω... θα αρκούσε απλά να πούμε

    var results = (from row in dataSet.Tables[0].AsEnumerable()
                   select row.Field<string>("Name")).Distinct();


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  06-05-2008, 08:47 41808 σε απάντηση της 41800

    Απ: Select Distinct σε Datatable

    Σίγουρα είναι όμορφο. Θα το δοκιμάσω.
    Ευχαριστώ.

    Manos
  •  07-05-2008, 13:45 41848 σε απάντηση της 41808

    Απ: Select Distinct σε Datatable

    Mπορείς μέσω DataView.ToTable να πάρεις τις dinstint values για την(ις) στήλη(ες) που σε ενδιαφέρουν

     

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