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

 

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

τύπος πεδίου + αυτόματη αρίθμηση

Îåêßíçóå áðü ôï ìÝëïò xakou. Τελευταία δημοσίευση από το μέλος xakou στις 26-02-2009, 22:47. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-02-2009, 22:09 48704

    τύπος πεδίου + αυτόματη αρίθμηση

    Καλησπέρα,

    όπως έχω πει και σε προηγούμενο μήνυμα σε άλλη ενότητα, φτιάχνω πειραματικά ένα site με καταχώρηση φωτοαγγελιών.

    Το site φτιάχνετε σε asp και χρησιμοποιών ΒΔ sql2008

    Κάθε φωτοαγγελιά περιλαμβάνει τρία – τέσσερα πεδία με κείμενο (“texts”) και 6 φωτογραφίες.

    Τα ερωτήματα μου:

    1)    Χρησιμοποιώ σαν τύπο πεδίου nvchar(50). Θα ήταν προτιμητέο από άποψη χώρου στη ΒΔ να χρησιμοποιήσω έναν σταθερό τύπο όπως το nchar(20) ή να έχω nvchar(50) σε όλα τα text πεδία με την προϋπόθεση μήπως κάποιο πάρει μέγεθος μεγαλύτερο από 20 χαρακτήρες;

    2)    Σε κάθε εγγραφή στη ΒΔ παίρνει μια αυτόματη αρίθμηση (ID πεδίο). Έχω σκεφτεί οι φωτογραφίες να ανεβαίνουν σε ένα directory και να αποθηκεύονται με όνομα αρχείου «id_αγγελίας»-«φώτο_1».jpg ,

    a.     π.χ.1) 35-1.jpg όπου το 35 είναι ο αύξων αριθμός της αγγελίας και το 1 είναι η πρώτη φωτογραφία.

    b.     π.χ.2) 35-2.jpg όπου το 35  είναι ο αύξων αριθμός της αγγελίας και το 2 είναι η δεύτερη φωτογραφία κ.ο.κ.

    Στην παραπάνω περίπτωση υπάρχει τρόπος να παίρνω την αυτόματη αρίθμηση που έχει το ID πεδίο από τη βάση κατά την καταχώρηση (κουμπί submit);

    Υπάρχει περίπτωση αν δυο ή περισσότεροι χρήστες  πατήσουν το «submit» ΤΑΥΤΟΧΡΟΝΑ, να «μπερδευτεί» η αυτόματη αρίθμηση του ID;

    Ένας άλλος τρόπος που σκέφτηκα είναι να γίνετε η καταχώρηση των “texts” της αγγελίας και μετά με ένα “edit” να προσθέτονται οι φωτογραφίες έχω από την πάρει το ID από την καταχώρηση των “texts”.

    Εσείς τί προτείνετε;

     

     

  •  24-02-2009, 22:23 48705 σε απάντηση της 48704

    Απ: τύπος πεδίου + αυτόματη αρίθμηση

    Στην άλλη ερώτηση, δεν ανέφερες για ποιό λόγο δεν σου έκαναν όσα είχαν ήδη αναφερθεί. Βάλε SQL Server 2008 Express, χρησιμοποίησε FILESTREAMS και δεν θα έχεις να ασχοληθείς με το που θα πάνε οι φωτογραφίες ή τί θα γίνει με τα ID.

    Όσον αφορά τα πεδία nchar, nvarchar, ρίξε μία ματιά στο documentation. Εκεί θα δεις ότι το nchar πιάνει πάντα όσο χώρο του ορίσεις, ενώ το nvarchar λίγο παραπάνω από όσο χρησιμοποιήσεις. Ένα nvarchar(50) δηλαδή δεν θα πιάσει 100 bytes στο σκληρό αν βάλεις μόνο 10 χαρακτήρες. Ένα nchar(50) όμως θα πιάσει πάντα 100 bytes.

    Όσον αφορά το nvarchar(50) γενικότερα ..... γιατί? Αν δεν χρειάζεσαι 50 χαρακτήρες, γιατί να ορίσεις μήκος 50 χαρακτήρες? Αν αποθηκεύεις π.χ. ΑΦΜ, δεν υπάρχει περίπτωση να φτάσει ποτέ τους 50 χαρακτήρες. Από την άλλη, η περιγραφή μίας αγγελίας πολύ σπάνια θα χωρέσει σε μόλις 50 χαρακτήρες

    Τέλος, η αυτόματη αρίθμηση δεν μπλέκεται ποτέ.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  25-02-2009, 15:09 48730 σε απάντηση της 48705

    Απ: τύπος πεδίου + αυτόματη αρίθμηση

    Ευχαριστώ πολύ για τη γρήγορη απάντηση.

    Κάτι επιπλέον,

    θέλω όπως λέω και στο παραπάνω μήνυμα, να μετονομάζετε η εικόνα που θα γίνει upload σύμφωνα με το ID της αγγελίας. Αυτό πως μπορεί να γίνει κάνοντας μια ενέργεια μόνο; Δηλαδή όταν ο χρήστης καταχωρεί όνομα, τηλέφωνο, διέθυνση, να βάζει στην ίδια φόρμα 3 φωτογραφίες και η αποθήκευση των αυτών να είναι idΑγγελίας-φώτο-1.jpg (για την πρώτη φώτο)

    Να "μαντέψεί" / "υπολογίσει" το id της αγγελίας και να σώσει στη βάση (με filestream που λες παραπάνω) με όνομα το ID της αγγελίας που θα πάρει!

     

     

  •  26-02-2009, 22:47 48765 σε απάντηση της 48730

    Απ: τύπος πεδίου + αυτόματη αρίθμηση

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