chrism4111 Δημοσ. 31 Δεκεμβρίου 2009 Δημοσ. 31 Δεκεμβρίου 2009 Γεια σας και χρονια σας πολλα... Τωρα τελευταια ασχολουμαι με Visual Studio και asp.Νετ , ο λογος ειναι οτι μας εβαλαν στην σχολη να φτιαξουμε ενα ηλεκτρονικο καταστημα πανω στο framework της microsoft... Ολα ωραια και καλα με το στησιμο της ιστοσελιδας εκτος απο κατι προβληματακια που συναντουσα με την css ... Μεχρι που εφτασα στην δημιουργια των βασεων δεδομενων. Φτιαχνω μια χαρα τους πινακες μου δημιουργω ευκολα τα ερωτηματα μ και ολα τα δεδομενα που χωνω στην βαση τα καλω με ενα control το SqlDataSource... Ως τωρα στην βαση χρησιμοποιω δεδομενα τυπου int , float , money , varchar , varchar(MAX) στη ουσια μονο κειμενο....Και ετσι ειναι σχετικα ευκολο να τα καλεσω στην σελιδα που θελω.. Τωρα ομως θελω να φτιαξω ενα πεδιο στο σε εναν ειδη υπαρχον πινακα που να λεγετε BookProductSmallImage και σε αυτο να φορτωνω μια εικονα. Τι datatype πρεπει να γινει το κελι αυτο?? Υπαρχει βεβαια το datatype image.Αλλα το θεμα ειναι πως θα καλεσω την εικονα στην σελιδα μ αφου η βαση δεν ξερει το Path?? (γινετε χρήση του Sql server 2005) Plz help....... Συγγνωμη για την κουραση......:o:o
djpaul1963 Δημοσ. 1 Ιανουαρίου 2010 Δημοσ. 1 Ιανουαρίου 2010 Καλή σου μερα και καλή χρονιά! Το πεδίο τύπου image στον sql είναι ένα byte array. Αυτό στην πράξη σημαίνει ότι για να επανακτήσεις την εικόνα σου θέλει αρκετά περισσότερη δουλειά από το να την αποθηκεύσεις και ο καλύτερος τρόπος είναι μέσω μιας εναλλακτικής σελίδας (πχ viewer.aspx) που θα κάνει response.write την εικόνα σου. Επειδή είναι αρκετά complicated θα σου συνιστούσα να κρατούσες στον sql το path της εικόνας και μόνον, κάνοντας το πεδίο nvarchar. Άν όμως είναι υποχρεωτικό να φυλάς τις εικόνες στον sql ρίξε μια ματιά σε ένα σχετικό thread εδώ hχχp://forums.asp.net/t/1243073.aspx
StavrosD Δημοσ. 1 Ιανουαρίου 2010 Δημοσ. 1 Ιανουαρίου 2010 Αν χρησιμοποιείς τον SQL Server 2008, υποστηρίζει filestream. Είναι ένας ευέλικτος τρόπος να αποθηκεύεις αρχεία στον SQL. Δυστυχώς θέλει προσοχή όταν μεταφέρεις την βάση σε άλλον server καθώς πρέπει να μεταφέρεις και τα αρχεία του filestream. Προσωπικά αποθηκεύω σε έναν κατάλογο τις εικόνες, και το όνομα του αρχείου της κάθε εικόνας το αποθηκεύω σε ένα πεδίο στην βάση δεδομένων.
earthworm Δημοσ. 1 Ιανουαρίου 2010 Δημοσ. 1 Ιανουαρίου 2010 Στο πεδίο που περιγράφεις θα αποθηκεύσεις το path\filename των εικόνων σου όπου αυτές βρίσκονται στον server. Συνεπώς ο τύπος σου είναι ένα απλό string χαρακτήρων. Λογικά αυτό είναι αρκετό για την εργασία σου. Καλή Χρονιά !
chrism4111 Δημοσ. 4 Ιανουαρίου 2010 Μέλος Δημοσ. 4 Ιανουαρίου 2010 Σας ευχαριστω πολυ για τις γρηγορες και αποτελεσματικες απαντησεις. Τελικα δεν μπηκα σε ταλαιπωριες και χρησημοποιησα τυπο nvarchar(MAX) για να αποθηκευω το path και με ενα κοντρολ εικονας την εμφανιζω ...(πολυ απλα) Ας με συγχωρησετε τωρα ομως γιατι εχω αλλες δυο ερωτησης η 1η εχει ως εξης ... Επειδη το κοντρολ εικονας που χρησημοποιω εχει διαφορες ιδιοτητες (http://demo.essentialobjects.com/ ειναι το image zoom) πχ ζουμ με εφε fade και αλλα... εχω ενα ψιλοπρόβλημα.. Οταν παταω να κανω ζουμ την εικονα εχω ως description ενα κειμενο που το καλω απο την βαση δεδομένων ... οταν το κειμενο ειναι τεραστιο τοτε η εικονα του ζουμ πηγαινει τοσο πανω στον browser σε σημειο που δεν φαινετε και ετσι δεν γινετε να το κλεισω.. Ετσι λοιπον σκεφτηκα οτι χρειαζετε κατι πιο συνοπτικο για description στην πειοχη αυτη. Υπαρχει καποιος τροπος για να καλω πχ τους 40 πρωτους χαρακτηρες του πεδιου της βασης δεδομενων ετσι ωστε να αποφυγω την δημιουργια αλλου πεδιου που θα περιεχει τα μισα δεδομενα απο το προηγουμενο πραγμα που βαραινει την βαση.... η 2η ερωτηση ειναι η παρακατω Εχω φαει τον τοπο αλλα δεν ξερω πως οριζετε το παρακατω για να το ψαξω και να το φταξω. Λοιπον φτιαχνω ενα ηλεκτρονικο καταστημα και σε αυτο θελω να προσθεσω 1000 προιοντα. Αν ειναι δυνατον οτι θα φτιαξω 1000 και σελιδες για την περιγραφη του καθε προιοντος. Μια Master_Page και καλω καθε προιον απο την βαση μονο του. Το θεμα ειναι πως γινετε αυτο?? εχω δει σε σελιδες aspx μετα το τελος της καταληξεις να χρισημοποιουν ερωτηματα πχ http://www.ταδε.gr/products.aspx?productID=109989 Πως μπορω να το κανω ή να το ψάξω στο google??Γιατι στο msdn εχω φαει τον τοπο αλλα δεν βρηκα πως να το υλοποιησω Ευχαριστω για την υπομονη(ειμαι πρωταρης σε αυτα και η εργασια αυτη αποτελει και την πρωτη μου δημιουργια στην asp.NET στο visual studio. )
circadian Δημοσ. 4 Ιανουαρίου 2010 Δημοσ. 4 Ιανουαρίου 2010 1. description.substring(0,40) c# ειναι αυτο αν γραφεις vb δεν ξερω. 2. αν θυμαμαι καλα ειναι string product = Request.Params.Get("product"); το οποιο το βαζεις στη page load της .aspx σελιδας που περιεχει το προιον ετσι αν π.χ αυτη η σελιδα ειναι η Products.aspx καλωντας Products.aspx?product=stylo τοτε το product θα παρει τη τιμη στυλο. Ο κωδικας εχει γραφτει τωρα και χωρις ψαξιμο. google it πριν πεις δε δουλευει
djpaul1963 Δημοσ. 4 Ιανουαρίου 2010 Δημοσ. 4 Ιανουαρίου 2010 Για την συντομευση της περιγραφης σου απαντησε ο φιλος circadian, ενω για το δευτερο ερωτημα η απάντηση ειναι Request.QueryString το οποιο διαβαζει το κομάτι μετά το '?' στο url (στο παράδειγμα σου αυτό που θα περιέχει το Request.QuesryString ειναι το 109989 γιατί αυτό είναι το VALUE στο KEY ProductId). Χρειάζεται πολύ δουλειά για τα παρακάτω αλλά από εκεί θα ξεκινήσεις. Μια γενική συμβουλή: Να ελεγχεις πάντα το τι θα περνας σαν ερώτημα στην βάση σου και να αποφευγεις οσο μπορεις τα url -> queries ετσι ωστε να μην εισαι ανοιxτος σε επιθεσεις sql injections. Μια πολυ καλη συνήθεια είναι να μετατρεπεις ολα τα text boxes σε sql parameters.
circadian Δημοσ. 4 Ιανουαρίου 2010 Δημοσ. 4 Ιανουαρίου 2010 με προλαβες ενω εκανα edit.... damn you!!
chrism4111 Δημοσ. 4 Ιανουαρίου 2010 Μέλος Δημοσ. 4 Ιανουαρίου 2010 Σας ευχαριστω πολυ αλλα δεν καταλαβα καλα κατι οσον αφορα το description.substring(0,40) (σε c# δουλευουμε) που θα μπει αυτο.. και με ποιο τροπο . ---------- Το μήνυμα προστέθηκε στις 21:25 ---------- Σας ευχαριστω πολυ αλλα δεν καταλαβα καλα κατι οσον αφορα το description.substring(0,40) (σε c# δουλευουμε) που θα μπει αυτο.. και με ποιο τροπο Βρηκα πως να το κανω τελικα : SELECT SUBSTRING(description,0,40) AS description FROM table :-) Και παλι ευχαριστω ........
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.