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

 

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

Update σε πίνακα χωρίς PK

Îåêßíçóå áðü ôï ìÝëïò pSychoK!LLer. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 17-09-2005, 22:28. Υπάρχουν 18 απαντήσεις.
Σελίδα 1 από 2 (19 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-09-2005, 11:46 5502

    Whisper [:-*] Update σε πίνακα χωρίς PK

    Καλημέρα,

    Έχω ένα dataSet που προκύπτει από ένα πίνακα βάσης που δεν έχει PK.

    Αλλάζω ένα DataRow και θέλω να μεταφέρω την αλλαγή πίσω στη βάση

    Προφανώς επειδή δεν έχω κλειδί δε μπορώ να δημιουργήσω την Update του DataAdapter, σωστά ???

    Τι μπορώ να κάνω ??

    Ευχαριστώ


    kost@s
  •  16-09-2005, 11:54 5503 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    Έστω ότι ο πίνακας είναι της μορφής col1, col2, col3, col4, col5.

    Στο UPDATE statement μπορείς να χρησιμοποιήσεις τις αρχικές τιμές του Record σαν κριτήριο αναζήτησης:

    WHERE col1=origvalue1 AND col2=origvalue2 AND col3=origvalue3 AND col4=origvalue4 AND col5=origvalue5

    ελπίζοντας ότι θα μπορέσεις να το ξεχωρίσεις μοναδικά

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  16-09-2005, 11:55 5504 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    Αν δεν κάνω λάθος μπορείς να γράψεις τα δικά σου Insert,delete,update και να τα βάλεις στον DataAdapter και να μη χρησιμοποιήσεις αυτά που "βγαίνουν" αυτόματα.
  •  16-09-2005, 12:03 5505 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

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

    Κάποιος τρόπος να στέλνω απευθείας το DataRow πισω στο table από το οποίο προήλθε δεν υπάρχει ?
    kost@s
  •  16-09-2005, 12:04 5506 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    zeon ξέρω ότι μπορώ να γράψω και δικές μου αλλά επειδή δε ξέρω το PK δεν θα μπορέσω να κάνω update.
    kost@s
  •  16-09-2005, 12:26 5507 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    Δεν υπάρχει κανένας συνδυασμός πεδίων που να είναι μοναδικά?
  •  16-09-2005, 12:29 5508 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    OXI
    kost@s
  •  16-09-2005, 12:34 5509 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

     pSychoKiLLer wrote:
    Γιώργο αυτό σκέφτηκα και εγώ αλλα εφόσον δεν έχω PK στον πίνακα είναι πιθανόν να επαναλαμβάνονται.

    Κάποιος τρόπος να στέλνω απευθείας το DataRow πισω στο table από το οποίο προήλθε δεν υπάρχει ?

    Αν ξεχάσουμε το dataset και φέρουμε το πρόβλημα σε απλή SQL, θεωρητικά μπορεί οι γραμμές να επαναλαμβάνονται, αλλά πρακτικά δεν υπάρχει τρόπος να τις ξεχωρίσεις. Ένας τρόπος είναι να φτιάξεις εσύ το PK που σου λείπει, ενώνοντας όλες τις τιμές σε ένα string, όπως με το τρόπο που ανέφερα πιο πάνω.

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

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  16-09-2005, 12:42 5510 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    Το ξέρω αυτό, δε σχεδίασα εγώ το table.

    Απλά προσπαθώ να δω τι μπορώ να κάνω με την παρούσα κατάσταση
    kost@s
  •  16-09-2005, 14:39 5512 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

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

    Εσύ σε αυτό που φτιάχνεις μπορείς να το εκμεταλλευτείς για να κάνεις ότι απαιτείται...

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  16-09-2005, 15:26 5516 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    To σκέφτηκα και εγω αλλά είναι ένα αρχείο βάσης πιου παίρνω από παλιότερη εφαρμογή και δεν αλλάζει. Τέλοσπάντων, κάπως θα το "μπαλώσω".

    Δεν είναι περίεργο όμως να μην έχω αυτή τη δυνατότητα? (όπως είχα με το recordset και τα bookmarks)

    Εντάξει είναι disconnected ο τρόπος που εργάζεσαι το ADO.NET αλλά νομίζω πως για κάτι τέτοια θα έπρεπε να υπάρχει και κάτι σαν ediτ enabled datareader.

    Ευχαριστώ πάντως.....
    kost@s
  •  16-09-2005, 16:19 5520 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

     pSychoKiLLer wrote:
    To σκέφτηκα και εγω αλλά είναι ένα αρχείο βάσης πιου παίρνω από παλιότερη εφαρμογή και δεν αλλάζει. Τέλοσπάντων, κάπως θα το "μπαλώσω".

    Δεν είναι περίεργο όμως να μην έχω αυτή τη δυνατότητα? (όπως είχα με το recordset και τα bookmarks)

    Εντάξει είναι disconnected ο τρόπος που εργάζεσαι το ADO.NET αλλά νομίζω πως για κάτι τέτοια θα έπρεπε να υπάρχει και κάτι σαν ediτ enabled datareader.

    Ευχαριστώ πάντως.....

    Έτσι απο περιέργεια τι βάση είναι αυτή που δεν αλλάζει;

    Πάντα μπορείς να χρησιμοποιήσεις .COM objects από .ΝΕΤ. Αν σε βόλευε τόσο πολύ το ADO.Recordset γιατί να μην το χρησιμοποιήσεις σε αυτή την ιδιάζουσα περίπτωση;

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  16-09-2005, 16:20 5521 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

     gcapnias wrote:

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

    Δεν έχεις δει πραγματικά μπάχαλο σε βάση και εφαρμογές.... Πχ, οι παλιές εφαρφμογές κάνουν select * και επεξεργάζονται μία μία τις στήλες που έρχονται. Ξαφνικά πετάγεται μέσα μια νέα στήλη που δεν την ξέρουν και παθαίνουν λαλά.... Δουλέυω αυτό τον καιρό μια τέτοια εφαρμογή σε βάση που βλέπουν και άλλες 2-3 παλιές εφαρμογές και έχω πάθει....


    Χρήστος Γεωργακόπουλος
  •  16-09-2005, 17:50 5527 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    Ζαχαρίας το πρόβλημα! Πίνακας χωρίς PK μπρρρ! Θα έπρεπε να μην σε (δεν εννοώ τον pSychoK!LLer αλλά γενικά, ειδικά όταν μαθαίνουμε να φτιάχνουμε DBs) αφήνει η DB να κάνεις τέτοιες παλικαριές!

    Aν βρεις καμιά λύση θα έχει ενδιαφέρον να την αναλύσουμε!
  •  16-09-2005, 17:57 5529 σε απάντηση της 5502

    Απ: Update σε πίνακα χωρίς PK

    Έτσι ακριβώς, SELECT *, και μετά προσπελάζουμε τις τιμές μέσω rs(0) & rs(1) και δε συμμαζεύεται (φρίκη, και σε VB6 μάλιστα).

    Αυτό που θα πρότεινα εγώ, είναι ότι αν το identiy/autonumber πεδίο προστεθεί στο τέλος, μια τέτοια δύστροπη εφαρμογή μάλλον θα το αγνοήσει.
    Μην αφήνετε τα media να σας "ταΐζουν"!
Σελίδα 1 από 2 (19 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems