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

 

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

ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

Îåêßíçóå áðü ôï ìÝëïò jimenez. Τελευταία δημοσίευση από το μέλος jimenez στις 22-07-2006, 11:09. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  12-06-2006, 11:38 13905

    ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    ΠΩΣ ΜΠΟΡΩ ΝΑ ΑΠΑΓΟΡΕΥΣΩ ΤΟΝ ΧΡΗΣΤΗ ΝΑ ΜΗΝ ΚΑΝΕΙ ΔΙΠΛΟ ΕΓΓΡΑΦΗ?Η' ΝΑ ΤΟΥ ΒΓΑΖΕΙ ΕΝΑ MESSAGE?ΠΩΣ ΠΡΕΠΕΙ ΝΑ ΕΙΝΑΙ ΤΟ INSERT?
    Dimitris S.
    FIRST TEST THEN CODE....
  •  12-06-2006, 12:45 13907 σε απάντηση της 13905

    Απ: ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    Εάν θες περιορισμό σε ένα πεδίο ενός πίνακα:

    Θέτεις το πεδίο αυτό ως Index & Unique

    Εάν πας να κάνεις διπλό-εγγραφή το SQL statement θα «κτυπήσει» exception

     

     

    Εάν θες σε όλα πεδία ενός πίνακα, τότε είναι λίγο ποιό πολύπλοκο:

     

    IF NOT EXISTS

       (

       SELECT *

       FROM Customers

       WHERE

          [CustomerID]='AAAAA'

          AND [CompanyName]='DotNetZone'

          AND [ContactName]='baburanos'

          AND [ContactTitle]='User'

          AND [Address]='Cerrito 333'

          AND [City]='Athens'

          AND [Region]='Lara'

          AND [PostalCode]='12345'

          AND [Country]='Greece'

          AND [Phone]='210'

          AND [Fax]='211'

       )

       BEGIN

          INSERT INTO Customers ([CustomerID],[CompanyName],[ContactName],[ContactTitle],[Address],[City],[Region],[PostalCode],[Country],[Phone],[Fax])

          VALUES ('AAAAA','DotNetZone','baburanos','User','Cerrito 333','Athens','Lara','12345','Greece','210','211')

       END


    while (!dead) learn();
  •  12-06-2006, 12:46 13908 σε απάντηση της 13905

    Απ: ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    Θα μπορούσες να γίνεις λίγο πιο συγκεκριμένος όταν λες "διπλοεγγραφή" και να περιγράψεις τις συνθήκες κάτω από τις οποίες πραγματοποιείται;
  •  12-06-2006, 12:57 13912 σε απάντηση της 13908

    Απ: ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    Ετσι οπως αναφέρεται υποψιάζομαι οτι πρόκειται για σενάριο user registration. Αλλα και πάλι, αν ο συνάδελφος δεν μας βοηθήσει λιγο περισσότερο, υπάρχουν χιλιάδες σενάρια "διπλοεγγραφής" στα οποία θα μπορούσαμε να αναφερθούμε.
    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  12-06-2006, 13:09 13913 σε απάντηση της 13912

    Απ: ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    Οκ. έχετε δίκιο.Δεν ήμουν σαφής. Απλά έχω ένα πρωτοκολλο επικοινωνιας με μια συσκευη μέσω GPRS. Αυτή μου στέλνει μέσω socket μια εντολή. Όταν μου την στελνει εγώ αυτοματως του απανταω θετικα. αν δεν του απαντησω σε καποιο χρονο μου ξαναστελνει. έτσι μπορει να τυχει να μου ερθουν δυο εντολες ιδιες. Παρεπιπτοντως τα data της εντολης τα αποθηκευω σε table.πρεπει να κάνω index όλα τα πεδία?
    Dimitris S.
    FIRST TEST THEN CODE....
  •  21-07-2006, 23:38 15087 σε απάντηση της 13905

    Απ: ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    Να ρωτήσω και εγώ με την σειρά μου...

    Σε περίπτωση που δεν απαντήσεις θετικά στην εντολή,

    1. Η εντολή αυτή έχει ΑΚΡΙΒΩΣ τα ίδια χαρακτηριστικά και περιεχόμενο με αυτή στην οποία δεν απάντησες ?

    2. Στην βάση κρατάς ΟΛΕΣ τις εντολές ή απλά κάνεις replace την τελευταία επιτυχημένη "συνομιλία"?

    Δεν νομίζω οτι χρειάζεται να κάνεις index σε ολα τα πεδία...αυτό θα ήταν περιττό
    σε αυτή τη ζωη τιποτα δεν ειναι τυχαιο
  •  22-07-2006, 11:09 15089 σε απάντηση της 15087

    Απ: ΑΠΟΦΥΓΗ ΔΙΠΛΟ ΕΓΓΡΑΦΗΣ?

    Το έλυσα το πρόβλημα.Όντως ξέχασα να σημιώσω ότι απαντήθηκε.Με την IF not exists έπαιξα.
    Dimitris S.
    FIRST TEST THEN CODE....
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems