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

 

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

Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

Îåêßíçóå áðü ôï ìÝëïò rantanplan. Τελευταία δημοσίευση από το μέλος rantanplan στις 18-03-2009, 19:59. Υπάρχουν 10 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-03-2009, 16:56 48959

    Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Καλησπέρα παιδιά. Γράφω σε MVS 2008 VB.

    Θέλω να κάνω ένα insert σε ένα πίνακα (access) όπου για πρωτεύον κλειδί χρησιμοποιώ αυτόματη αρίθμηση.

    Έστω ο πίνακας visitors(id, name, surname)

    Χρησιμοποιώ την παρακάτω έκφραση SQL = "insert into visitors (name, surname, id) values ('" & TextBox1.Text & "', '" & TextBox1.Text & "', '" & ....

    Πως θα συνεχίσω για να πέρνει αυτόματα αύξων αριθμό για το id;

    Ευχαριστώ πολύ
    Keep programming.....
  •  06-03-2009, 17:06 48960 σε απάντηση της 48959

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Γιατί δεν βάζεις την αρίθμηση να την κάνει η Access; Και πιο σωστό είναι αλλά και πιο εύκολο.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-03-2009, 17:48 48962 σε απάντηση της 48960

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    σωστα, τι θες και κανεις τι ζωη σου δυσκολη ορισε στις ιδιοτητες του πεδιου Αυτοματη αριθμηση και βηματισμο ανα 1 και ολα θα γινοντε μονα τους εσυ δεν χρειαζεται να αναφεραιse καν στο sql insert σου στο πεδιο ID.

    σου βαζω και ενα printscreen απο μια βαση μου να δεις που ειναι ακριβως η ρυθμιση.


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  07-03-2009, 09:02 48970 σε απάντηση της 48959

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Ή εκτός και κάνεις ένα MAX στον πίνακα το φέρεις σε μια μεταβλητή και βάλεις στο insert: MAX+1. Αυτή η μέθοδος δεν ενδείκνυται. Και εγώ είμαι της γνώμης να χρησιμοποιήσεις την λύση που σου προτείνουν τα παιδιά.
    Μια άλλη λυση είναι μέσω dataset αν θυμάμαι καλά, αλλά πρεπει να ψάξω για να σου πω.
  •  07-03-2009, 13:14 48971 σε απάντηση της 48970

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Υπάρχει τρόπος να μάθουμε το id της νέας εγγραφής αν είναι ορισμένο με αυτόματη αρίθμηση; Σε sql server ξέρω πως γίνεται αλλά σε Acceess δεν έχω καταφέρει να βρω κάτι..
    Τάσος Καραγιάννης

    Baby debugging steps...
  •  07-03-2009, 13:19 48972 σε απάντηση της 48959

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Ποτέ μα ποτέ στη βάση δεδομένων δεν βάζουμε πρωτεύον κλειδί που να έχει business logic.!!!!!!!!!!! Χρυσός κανόνας για να μην τρέχεις μετά για Refactoring. 

    Δηλαδή χρησιμοποιείς Autonumber id για visitors και αν το χρειάζεσαι ένα άλλο πεδίο 'κωδικός' που του αναθέτεις εσύ τιμή χρησιμοποιώντας το select max(κωδικός) +1 from visitors. Μάλιστα μπορείς τον υπολογισμό της τιμής του πεδίου κωδικού να την βάλεις σε μια γενική κλάση (common practice) που θα υπολογίζει την επόμενη τιμή για κάθε πεδίο 'κωδικός' σε οποιοδήποτε πίνακα βάση κάποιου προτύπου που του ορίζεις εσύ.

     


    Manos
  •  07-03-2009, 14:29 48973 σε απάντηση της 48972

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    manosB:

    Ποτέ μα ποτέ στη βάση δεδομένων δεν βάζουμε πρωτεύον κλειδί που να έχει business logic.!!!!!!!!!!! Χρυσός κανόνας για να μην τρέχεις μετά για Refactoring. 

    Δηλαδή χρησιμοποιείς Autonumber id για visitors και αν το χρειάζεσαι ένα άλλο πεδίο 'κωδικός' που του αναθέτεις εσύ τιμή χρησιμοποιώντας το select max(κωδικός) +1 from visitors. Μάλιστα μπορείς τον υπολογισμό της τιμής του πεδίου κωδικού να την βάλεις σε μια γενική κλάση (common practice) που θα υπολογίζει την επόμενη τιμή για κάθε πεδίο 'κωδικός' σε οποιοδήποτε πίνακα βάση κάποιου προτύπου που του ορίζεις εσύ.

    Πόσο δίκιο έχεις, αλλά αλλουνού παπά ευαγγέλιο αυτό..


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  07-03-2009, 15:09 48974 σε απάντηση της 48971

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Ρϊξε μια ματιά σ' αυτό το thread. Μόνο που δεν ξέρω αν η απάντηση που δίνω έχει σχέση με το αρχικό post. Αυτό που ρωτάς έχει σχέση με το thread ή θα έπρεπε να είναι αλλού;
    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  16-03-2009, 09:32 49209 σε απάντηση της 48974

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Ευχαριστώ πολύ παιδία για τις απαντήσεις.
    Ισχύει και το ίδιο για sql server?
    Το γνωρίζει κανείς;

    Keep programming.....
  •  16-03-2009, 12:32 49215 σε απάντηση της 49209

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Ναι, βέβαια και ισχύει. Αυτό το οποίο ψάχνεις ονομάζετε Identity και υπάρχει μάλιστα και property το οποίο το ορίζεις (εάν το κάνεις με το Management studio είναι ακριβώς απο κάτω) και θέτεις έτσι κατά πόσο θέλεις να αυξάνετε κάθε φορά. πχ αντί για ένα (1) εσύ θέλεις να αυξάνετε κατα δύο (2) κλπ κλπ.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  18-03-2009, 19:59 49385 σε απάντηση της 49215

    Απ: Eισαγωγή εγγραφής σε πίνακα με πρωτεύων κλειδί αύξων αριθμό

    Ευχαριστώ πολύ

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