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

 

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

πολλαπλές κατηγορίες υποκατηγορίες

Îåêßíçóå áðü ôï ìÝëïò DaltonGR. Τελευταία δημοσίευση από το μέλος Panagiotis Kefalidis στις 11-02-2010, 21:26. Υπάρχουν 15 απαντήσεις.
Σελίδα 1 από 2 (16 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-02-2010, 22:53 57048

    πολλαπλές κατηγορίες υποκατηγορίες

    Καλησπέρα,
    Πώς μπορώ να αφήσω τον χρήστη να δημιουρφεί πολλαπλές κατηγορίες και υποκατηγορίες και να καταχωρεί εκεί τα είδη του.
    Παράδειγμα έχουμε
    ΚΑτηγορία 1
      Υποκατηγορία 1,1
      Υποκατηγορία 1,2
         Υποκατηγορία 1,1,1
    ΚΑτηγορία 2
      Υποκατηγορία 2,1
      Υποκατηγορία 2,2
         Υποκατηγορία 2,1,1
    Κατηγορία 3
    Κατηγορία 4
    Υποκατηγορία 4,1
         Υποκατηγορία 4,1,1

    κτλ και μετά να καταχωρεί τα είδη του.

    Χρησιμοποιό VS20005 και SQL server 2005..

    Ευχαριστώ εκ των προτέρων...

  •  10-02-2010, 00:28 57051 σε απάντηση της 57048

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    1) Αν θέλεις μία κατηγορία να ανήκει σε μία μονο κατηγορία τότε δημιουγείς ένα Πεδίο ParentId και κάνεις ένα Self Join με τον κωδικό της κατηγορίας. Δλδ χρειάζεσαι μόνο ένα Πίνακα όπως παρακάτω:


    CREATE TABLE [dbo].[Category](
     [Id] [int] IDENTITY(1,1) NOT NULL,
     [ParentId] [int] NULL,
     [Name] [nvarchar](64) NOT NULL,
     CONSTRAINT [PK_Category] PRIMARY KEY CLUSTERED
    (
     [Id] ASC
    )) ON [PRIMARY]


    GO

    ALTER TABLE [dbo].[Category]  WITH CHECK ADD  CONSTRAINT [FK_Category_Category] FOREIGN KEY([ParentId])
    REFERENCES [dbo].[Category] ([Id])
    GO

    ALTER TABLE [dbo].[Category] CHECK CONSTRAINT [FK_Category_Category]
    GO

    declare @ParentId int
    Set  @ParentId=1

    SELECT [Id],[ParentId] , [Name] FROM [Category] where ParentId is Null   /*Για να κάνεις Select τις κύριες κατηγορίες */

    SELECT [Id],[ParentId] , [Name] FROM [Category] where ParentId =@ParentId   /*Για να κάνεις Select τις κατηγορίες μίας κατηγορίας */

    2) Αν θέλεις οι κατηγορίες να ανήκουν σε περισσότερες από μία κατηγορία τότε θα χρειαστείς 2 πίνακες έναν να κρατά τις κατηγορίες και έναν για τις σχέσεις μεταξύ τους όπως παρακάτω:

    CREATE TABLE [dbo].[Category](
     [Id] [int] IDENTITY(1,1) NOT NULL,
     [Name] [nvarchar](64) NOT NULL,
     CONSTRAINT [PK_Category] PRIMARY KEY CLUSTERED
    (
     [Id] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]

    GO


    CREATE TABLE [dbo].[CategoryGroup](
     [CategoryId] [int] NOT NULL,
     [ParentId] [int] NOT NULL,
     CONSTRAINT [PK_CategoryGroup] PRIMARY KEY CLUSTERED
    (
     [CategoryId] ASC,
     [ParentId] ASC
    )ON [PRIMARY]
    ) ON [PRIMARY]
    GO

    ALTER TABLE [dbo].[CategoryGroup]  WITH CHECK ADD  CONSTRAINT [FK_CategoryGroup_Category] FOREIGN KEY([CategoryId])
    REFERENCES [dbo].[Category] ([Id])
    GO
    ALTER TABLE [dbo].[CategoryGroup] CHECK CONSTRAINT [FK_CategoryGroup_Category]
    GO

    ALTER TABLE [dbo].[CategoryGroup]  WITH CHECK ADD  CONSTRAINT [FK_CategoryGroup_Category1] FOREIGN KEY([ParentId])
    REFERENCES [dbo].[Category] ([Id])
    GO
    ALTER TABLE [dbo].[CategoryGroup] CHECK CONSTRAINT [FK_CategoryGroup_Category1]
    GO

     /*Για να κάνεις Select τις κατηγορίες μίας κατηγορίας */

    declare @ParentId int
    Set  @ParentId=1

    SELECT 
     dbo.Category.Id,
     dbo.Category.Name
    FROM        
     dbo.Category
    WHERE  
     dbo.Category.Id IN (SELECT dbo.CategoryGroup.CategoryId FROM dbo.CategoryGroup WHERE dbo.CategoryGroup.ParentId=@ParentId)  /*Μπορείς να κάνεις και Join το  ΙN ( ) είναι ποίο απλό.*/


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  10-02-2010, 14:27 57057 σε απάντηση της 57048

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Δεν πρόσεξα ότι έκανες Post σε WebForms οπότε θα θέλεις να εμφανίζεις προϊόντα και κατηγορίες σε ένα container.
    Μπορείς να έχεις ένα πεδίο στις κατηγορίες που να δηλώνει αν η κατηγορία περιέχει προϊόντα η κατηγορίες πχ.

     

    Category
    ------------
     bool HasProductsNotCategories

    Φτιάχνεις έναν ακόμη πίνακα

    ProductInCategory
    CategoryId
    ProductId

    Όταν η κατηγορία περιέχει κατηγορίες επιστρέφεις ένα View με τις  υποκατηγορίες και όταν περιέχει προϊόντα επιστρέφεις ένα view με προϊόντα, ελέγχοντας το HasProductsNotCategories ==1 .

    Με τον ίδιο τρόπο όταν κάνεις μεταβολή/εισαγωγή προϊόντα και κατηγορίες ελέγχεις HasProductsNotCategories., επιστρεφεις ενα ένα View που επιτρέπει μεταβολή λίστα προϊόντων η λίστα κατηγοριών.


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  10-02-2010, 14:48 57058 σε απάντηση της 57048

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    μπορεις να τα εχεις ολα σε ενα πινακα και απλα να κανεις τα εξεις

    1)φτιαξε πεδια ID-------ParentID---IsCategory

    θα φτιαχνεις μεσα στον πινακα με τα ειδη και ενα ειδος - κατηγορια ομως και θα παιζεις με τα ID & ParentID οπως κανει και ενα Windows TreeList περιπου

    στο παραδειγμα σου πανω

    ΝΑΜΕ ID ParentID IsCategory
    ΚΑτηγορία 1 001 0 true
      Υποκατηγορία 1,1 607 001 true
    proion 006 001 false
      Υποκατηγορία 1,2 002 0 true
         Υποκατηγορία 1,1,1 453 0 true
    proin 009 453 false

    ktl ktl ktl

    ετσι με ενα sql query και ενα For Each loop μπορεις να τα διχνεις και γραφηκα σε ενα treelist η αντιστοιχο control στην εφαρμογή σου για να καταλαβαινει ο χρηστης που ειναι και τι κανει.

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  10-02-2010, 15:55 57059 σε απάντηση της 57058

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Γεία σου John. Για τα προϊόντα πρέπει να έχεις ενα πεδίο με Foreign Key στα Products.

    Category
    ----------
    ParentId
    ProductId < αλλίως δεν έχεις constraint.


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  10-02-2010, 17:58 57060 σε απάντηση της 57059

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    hi JohnBig Smile

    αυτο ειναι κατ εμε "προαιρετικο" και κατι που ερχεται σε 2η μοιρα, προσωπικά δεν μου αρέσει να κανω σχεσεις πανω στην βαση, τις κανω απο κοδικα, φυσικα μια τετοια σχεση θα τον διευκολήνει σε ερωτηματα ργοτερα και αμα παιξει με linq2sql αλλα, δεν ειναι απαραιτητο να την κανει στην βαση.Confused

    αυτο ειναι καθαρα στον τροπο που εχει μαθει κανεις να δουλευει, οπως ειπα καθαρα προσωπικα δεν μου αρέσει και η XPO σε συνδυασμό με Linq2SQL και programmable relationship (γενικα sτο ado.net) με έχουν απαλαξει απο το αγχος της βασης!Geeked ασε που ετσι ειμαι ποιο portable!


    αλλα γενικα λεω ενα πινακα και οχι 2-3 
    ενα πινακα για προιοντα και στον ιδιο θα ειναι και οι κατηγοριες!


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  11-02-2010, 17:30 57080 σε απάντηση της 57059

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Μπλουγουράς Γιάννης:

    Γεία σου John. Για τα προϊόντα πρέπει να έχεις ενα πεδίο με Foreign Key στα Products.

    Category
    ----------
    ParentId
    ProductId < αλλίως δεν έχεις constraint.

    Το παραπάνω το έδειξα μόνο για τα Contraints, δεν είναι ο σωστός τρόπος, διότι επιτρέπει μόνο 1 προϊόν ανα κατηγορία.

    Στην ποιο ανεπτυγμένη σχεδίαση έχουμε:
    Category
    Id
    Name
    HasProductsNotCategories

    Product
    Id
    Name


    ProductInCategory
    CategoryId
    ProductId

    SubCategoryInCategory
    ParentCategoryId
    SubCategoryId

    Και στην ποιό απλή μορφή:

    Category
    Id
    ParentId
    Name
    HasProductsNotCategories

    Product
    Id
    Name
    CategoryId

    Οταν έχουμε Category.HasProductsNotCategories=1 τότε επιστρέφουμε το userControl με τα προϊόντα.

    Θα μπορούσα να γράψω και την υλοποίηση σε WebForms, άλλα πιστευώ, πως πρέπει κάποιος να κάνει και μία προσπάθεια μόνος του.
    Ειδικά όταν αυτός που κάνει την ερώτηση δεν συμμετέχει στην συζήτηση.

     


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  11-02-2010, 17:45 57081 σε απάντηση της 57060

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Johnnyxp64:
    hi JohnBig Smile

    αυτο ειναι κατ εμε "προαιρετικο" και κατι που ερχεται σε 2η μοιρα, προσωπικά δεν μου αρέσει να κανω σχεσεις πανω στην βαση, τις κανω απο κοδικα, φυσικα μια τετοια σχεση θα τον διευκολήνει σε ερωτηματα ργοτερα και αμα παιξει με linq2sql αλλα, δεν ειναι απαραιτητο να την κανει στην βαση.Confused

    Surprise

    Johnny, πραγματικά αυτή τη φορά με άφησες άφωνο . Πριν δώσεις συμβουλές για σχεδίαση βάσης θα πρέπει να μάθεις ΤΙ είναι τα Foreign Key Constraints και ΓΙΑΤΙ χρειάζονται. Όταν ο κώδικας σου θα σβήσει μερικές χιλιάδες εγγραφές κατά λάθος, θα καταλάβεις και γιατί είναι ΚΑΚΗ ιδέα να κάνεις τους ελέγχους μόνο στον κώδικα.

    Κάποιος λόγος υπάρχει που υπάρχουν αυτά τα πράγματα στη βάση. Δεν είμαστε όλοι παράξενοι που τα χρησιμοποιούμε τόσες δεκαετίες. Αν δεν τον καταλαβαίνεις, φρόντισε να τον καταλάβεις πριν δώσεις επικίνδυνες συμβουλές.

    Και όσο για τους πίνακες, ένας πίνακας πρέπει να έχει ένα σκοπό. Ή θα περιλαμβάνει προϊόντα, ή θα περιλαμβάνει κατηγορίες. Το ανακάτωμα τους είναι ΚΑΚΗ σχεδίαση. Αν θυμάσαι τί είναι η 2η κανονική μορφή, είναι αυτή που λέει ότι ΔΕΝ ανακατώνουμε διαφορετικά πράγματα μέσα στον ίδιο πίνακα.

    Και τα Foreign Key Constraints και οι κανόνες κανονικοποίησης είναι πράγματα που μαθαίνει κανείς στο πρώτο-πρώτο μάθημα για βάσεις δεδομένων. Δεν μπορεί κάποιος να είναι επαγγελματίας προγραμματιστής και να μην τα ξέρει.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  11-02-2010, 18:11 57082 σε απάντηση της 57081

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Παναγιώτης Καναβός:
    Johnnyxp64:
    hi JohnBig Smile

    αυτο ειναι κατ εμε "προαιρετικο" και κατι που ερχεται σε 2η μοιρα, προσωπικά δεν μου αρέσει να κανω σχεσεις πανω στην βαση, τις κανω απο κοδικα, φυσικα μια τετοια σχεση θα τον διευκολήνει σε ερωτηματα ργοτερα και αμα παιξει με linq2sql αλλα, δεν ειναι απαραιτητο να την κανει στην βαση.Confused

    Surprise

    Johnny, πραγματικά αυτή τη φορά με άφησες άφωνο . Πριν δώσεις συμβουλές για σχεδίαση βάσης θα πρέπει να μάθεις ΤΙ είναι τα Foreign Key Constraints και ΓΙΑΤΙ χρειάζονται. Όταν ο κώδικας σου θα σβήσει μερικές χιλιάδες εγγραφές κατά λάθος, θα καταλάβεις και γιατί είναι ΚΑΚΗ ιδέα να κάνεις τους ελέγχους μόνο στη βάση.

    Κάποιος λόγος υπάρχει που υπάρχουν αυτά τα πράγματα στη βάση. Δεν είμαστε όλοι παράξενοι που τα χρησιμοποιούμε τόσες δεκαετίες. Αν δεν τον καταλαβαίνεις, φρόντισε να τον καταλάβεις πριν δώσεις επικίνδυνες συμβουλές.

    Και όσο για τους πίνακες, ένας πίνακας πρέπει να έχει ένα σκοπό. Ή θα περιλαμβάνει προϊόντα, ή θα περιλαμβάνει κατηγορίες. Το ανακάτωμα τους είναι ΚΑΚΗ σχεδίαση. Αν θυμάσαι τί είναι η 2η κανονική μορφή, είναι αυτή που λέει ότι ΔΕΝ ανακατώνουμε διαφορετικά πράγματα μέσα στον ίδιο πίνακα.

    Και τα Foreign Key Constraints και οι κανόνες κανονικοποίησης είναι πράγματα που μαθαίνει κανείς στο πρώτο-πρώτο μάθημα για βάσεις δεδομένων. Δεν μπορεί κάποιος να είναι επαγγελματίας προγραμματιστής και να μην τα ξέρει.



    Παναγιωτη προσεχε κι εσυ τι γραφω και μετα δίκασε.

    δεν ειπα να μην εχει σχεσεις ειπα οτι αυτο και (προσωπικα) μου αρέσει να το κάνω στον κώδικα και οχι στην βαση! 
    example:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Imports System.Data.SqlClient
    Public Class Form1
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim connetionString As String
            Dim connection As SqlConnection
            Dim command As SqlCommand
            Dim adapter As New SqlDataAdapter
            Dim ds As New DataSet
            Dim firstSql As String
            Dim secondSql As String
    		connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
    		firstSql = "Your First SQL Statement Here"
    		secondSql = "Your Second SQL Statement Here"
            connection = New SqlConnection(connetionString)
            Try
                connection.Open()
                command = New SqlCommand(firstSql, connection)
                adapter.SelectCommand = command
                adapter.Fill(ds, "Table1")
    
                adapter.SelectCommand.CommandText = secondSql
                adapter.Fill(ds, "Table2")
    
                adapter.Dispose()
                command.Dispose()
                connection.Close()
                'creating data relations
                Dim relation As DataRelation
                Dim table1Column As DataColumn
                Dim table2Column As DataColumn
                'retrieve column
                table1Column = ds.Tables("Table1").Columns(0)
                table2Column = ds.Tables("table2").Columns(0)
                'relating tables
                relation = New DataRelation("relation", table1Column, table2Column)
                'assign relation to dataset
                ds.Relations.Add(relation)
    
                MsgBox("Data relation completed")
            Catch ex As Exception
                MsgBox("Can not open connection ! ")
            End Try
        End Sub
    End Class

    και αν θες να ξερεις πολυ επαγγελματιες πραγματικοι δουλεουν ετσι γιατι αμα εχεις και επαγγελματικη εφαρμογη παιζει και σε mssql / access kai se mysql kai se ce kai se oracle και οπου θες χωρις να χρειαζεται να τρελαινεσαι πως θα μεταφερεις τους πινακες και τις σχεσης τους απο την μια βαση στην αλλη!

    Φυσικα και σε προστατευουν σε λαθος κινησεις φυσικα και ειναι καλο να υπαρχουν αλλα ξαναματαλεω δεν ειναι απαραιτητα να της κανεις μεσα στην βαση! αντιθετα σε δεσμευει!
    τι θα κανεις σε περιπτωση αλλαγης-προβληματος θα εγκαθηστας στον πελατη που εχει mssql το SQL Server Management Studio και θα καθεσαι να κανει με το χερι τις αλλαγες - διορθωσης στην βαση? ή θα αγχωνεσαι να κανεις scriptakia και θα τα τρεχεις σε πελατες με διαφορετικες εκδοσης - βασης......  καληνυχτα!

    αμα ολα αυτα ομως τα εχεις στον κωδικα σου απλα του λες κατεβασε το update και εκει μεσα εχεις κανει το νεο relationship και ξεμπερδεψες!
    αφηστε τα θεωριτκα και τα βιλβια στην ακρη το XP δεν το αποκτας Μονο με τα βιβλια, αλλο απο τα κουλα που θα συναντησεις καθως φτιαχνεις εφαρμογες.

    αν σου αρεσει να το κανεις ετσι επειδη ετσι το διαβασες η στο "ειπανε στο πρωτο μαθημα", fine by me, άσε τους άλλοuς να εχουν τους δικους εναλακτικους τροπους, και μην κανεις attack αμα δεν καταλαβες σωστα τα λεγομενα μου. 
    Στην τελικη εδω απανταει ο καθένας στην ερώτηση δεν στήσαμε κουβεντούλα για να κρινόμαστε μεταξύ μας (κακοί επηρεασμοί μάλλον). για αυτά υπάρχει άλλο section το cafe ή p.m.Wink

    .-


    p.s from Gianni & tha symfoniso
    "Θα μπορούσα να γράψω και την υλοποίηση σε WebForms, άλλα πιστευώ, πως πρέπει κάποιος να κάνει και μία προσπάθεια μόνος του. 
    Ειδικά όταν αυτός που κάνει την ερώτηση δεν συμμετέχει στην συζήτηση."





    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  11-02-2010, 18:29 57084 σε απάντηση της 57082

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

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

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

    Κανείς δεν θέλει να σου την πει, ίσα ίσα να σε βοηθήσει θέλει να μην φας τα μούτρα σου. Αν δεν θέλεις βοήθεια μπορείς απλά να μην απαντάς ή να αποχωρήσεις.


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

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

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  11-02-2010, 18:33 57085 σε απάντηση της 57081

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Καλά που γράφουμε στα Ελληνικά και οι ξένοι Developers δεν μπορούν να δούν τι ακριβως συζητάμε...

    LOCK!

  •  11-02-2010, 18:48 57086 σε απάντηση της 57084

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    John θα συμφωνήσω και εγω με τον Παναγιώτη.
    Είμαι στην διάθεση σου να σου εξηγήσω τον λόγο που έχεις άδικο.

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


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  11-02-2010, 19:10 57087 σε απάντηση της 57086

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    καλα τι να πω δεν ξερεται Ελληνικα, δεν θελεται να καταλαβαιτε?
    δεν θα συγχυστώ έρχεται τρελη αδεια, δεν ξερω αν φταει το νεφος εκει κατω αλλά οταν καποιος δεν απαντα συγκερημενα και απαντα προσωπικά ειναι τουλάχιστον απαράδεκτο.

    εγω καταλαβα τι λεει ο Παναγιωτης Κ (και σεβαστο), για τον άλλους συνηγόρους οταν θα σας ρωτήσω, μπορειτε να μου πειτε με ποιον ειστε και ποιον οχι, αδιαφορώ.

    εγω λοιπον καταλαβα παρα πολυ καλα τι ειπε ο π.κ  οπως και το δικαιολογω οτι αυτα τα ειπε γιατι δεν ερμηνευσε σωστα τα γραπτα μου οπως θα ηθελα να τα πω, με αποτελεσμα να γραψει αυτα.
    και μετα απανταω λεγοντας ακριβως τι ενοουσα αλλα εξακολουθουν καποιοι να μην θελουν να μελετησουν, απλα κοιτανε λεξεις ετσι πεταχτα και μπαινουν στην συζητηση να το παίξουν συνήγοροι!

    δεν γουσταρω να μπω στο τρυπακι οπως προ μηνων και αυτη τη φορα για παρεξηγηση.
    καθηστε και κουβεντιαστε μεταξυ σας, εγω ειπα αυτο που ηθελα να πω στο ανθρωπο που ρωτησε κατι, αμα θελει το ακολουθει αμα δε θελει οχι.
    οσοι το καταλαβαν το καταλαβαν, οσοι δεν το καταλαβαν να μην το καταλαβουν ποτε.
    δεν κανω ποτε οτι δεν θα ηθελα να μου κανουν, στην προκειμενη περιπτωση να 0νισω τα λεγομενα καποιου βαση τις δικες μου ιδεες.
    δεν εχω να αποδειξω τιποτα και σε κανεναν, είτε ειναι πλαιος ήτε ειναι ψαρας. ο καθενας κανει οτι καλητερο μπορει, εγω τοσο μπορω τοσο κανω μικρο η μεγαλο το ληθαρακι μου αυτο εχω αυτο θα δωσω, αν δεν σας αρεσει καποιους τοτε εσεις μην συμετεχεται,

    ειλικρινά το κώλυμα που εχουν 2-3 ατομα εδω περα να νομιζουν οτι πρεπει ολοι να είναι φωστήρες και να κανουν copy-paste το msdn δεν το καταλαβαίνω, εγω εμαθα να λυνω προβλήματα και με "πατέντες" κι ας μην ειναι στο msdn

    και στην τελικη ειπα οτι αντι να κανεις τις σχεσεις μεσα στην βαση καντες απο τον κωδικα σου εναλλακτικα, που ειναι το λαθος Μην τρελαθουμε τελειως ρε παιδια! Ελεος! αμα ειναι "λαθος" τι διαολο το εχει το ado.net τοτε ως δυνατοτητα? ΑΑΑΑ Ασε ξερω, κι αυτοι "λάθος" ειναι!

    αντε και πολυ ασχοληθηκα.-


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  11-02-2010, 20:08 57089 σε απάντηση της 57087

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    Κοιτα να δεις , ο τρόπος που εκφράζεσαι είναι ακρως προσβλητικός και επιθετικός.
    Σε πληροφορώ οτι τα ελληνικά μας είναι μια χαρά, ερμηνεύουμε αυτά που έγραψες και τα περισσότερα που έγγραψες εδώ είναι δυστυχώς λάθος.

    Φρόντισε να καταλάβεις πρώτα τι γράφουν οι άλλοι πρίν ξεκινήσεις να γράφεις.


    Τα DataRelations στην εφαρμογή υπάρχουν ως επέκταση των σχέσεων της βάσης δεδομένων, έτσι ώστε να μην επιτρέπεται σε επίπεδο εφαρμογής να παραβιάζονται οι κανόνες της βάσης δλδ τα Relations που έχεις ήδη, πρίν φτάσεις στην βάση δεδομένων.
    Τί γίνετε όμως αν κατα λάθος σβηστεί μία εγγραφή που είναι Foreign Key σε άλλο πίνακα;
    Χωρίς Relation παραμένει μία εγγραφή που περιέχει ένα πεδίο με κωδικό που πλέον δεν υπάρχει δλδ. orphaned child record.
    Δεν έχει σημασία αν έχεις Access, MS SQL Server, Oracle, MySql, PostgresSql. Πρέπει πάντα να έχεις RELATIONS ΣΤΗΝ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ.
    ΦΥΣΙΚΑ ΘΑ ΕΧΕΙΣ CHANGE SCRIPTS ΠΟΥ ΘΑ ΣΥΧΡΟΝΙΖΟΥΝ ΤΟ SCHEMA ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ, ΜΕΣΑ ΑΠΟ ΤΗΝ ΕΦΑΡΜΟΓΗ.
    Αν διάβαζες και λίγο MSDN θα έβλεπες ότι υπάρχουν και έτοιμες λύσεις από τα προϊόντα που ήδη κάνεις χρήση αλλά και 3d Party.

    Δεν υπάρχουν σωστές ή λάθος Λύσεις, όμως όταν δίνεις λύσεις με Πατέντες, γνωρίζεις εξαρχής ότι η λύση σου δεν είναι η ποίο βέλτιστη (Το δηλώνεις με την λέξη Πατέντα).

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

    Σε συμβουλεύω να διαβάσεις και εσύ λίγο MSDN θα εκπλαγείς τι μπορείς να μάθεις.

     


    Μπλουγουράς Γιάννης
    Wizcom O.E.
  •  11-02-2010, 20:40 57090 σε απάντηση της 57089

    Απ: πολλαπλές κατηγορίες υποκατηγορίες

    1) εκφράζομαι όπως με αναγκάζουνAngry δικαίωμά μου είναι.

    αλλά ας το ξεχάσουμε αυτο....Stick out tongue

    2)δεν διαφωνώ σε αυτα που λες σε ιδικές γραμμές, αλλά σκέψου λίγο κι εσύ, στο πραδειγμα που εθεσε ο φιλος αρχη αρχη,
    μεσα σε μια κατηγορια εχεις 300προιοντα! μεχρι εδω καλα?

    και λες θέλω να σβήσω την κατηγορία μόνο! 

    και ερωτώ λοιπόν, για να μάθω κι εγώ που δεν ξέρω, αν έχεις σχεσεις μεσα στην βαση προϊόντα με κατηγοριες, και θες να σβησεις Μονο την κατηγορια χωρις να φας σφαλμα, χωρις να αφήσεις "ορφανες" εγγραφες, αλλα όντως να τις αφήσεις άθικτες, τι κανεις? γιατι παραδειγμα εγω θελω να εχω ολα τα προιοντα χημα και ισως την επομενη τα βαλω σε αλλη ομαδα, χρηστης ειμαι οτι θελω ζηταω.
    δεν τα κατεβαζω απο το κεφαλι μου, τα εχω ακουσει και εχω φρικαρει πολλες φορες! και οταν ειναι να πουλησεις και να κανεις χαρουμενο τον πελατη, ΧΤΕΣ οχι μεθαυριο με την perfect μέθοδο(που γιατι οχι μπορει να μην ξερεις και δεν προλαβαινεις να μαθεις), οταν λοιπον πρεπει να κανεις αυτο που θελει ο αλλος, αμεσα και αποτελεσματικα με "οπιονδηποτε" τροπο αρκει να δουλευει,

    τοτε βρε john πως το κουμανταρεις αυτο αν εχεις ολες τισ σχεσεις στην βαση?
    μπορεις να "σπασεις" για λιγο την σχεση να κανεις αυτο το μη "λογικο" ετοιμα, πως το κανεις?
    και γιατι το να κανεις χρηση τα DataRelations το καθηστα "πατεντα"-λυση μη επιτρεπτει?μπορει κατι οντος να παει στραβα? αν ναι τι? αν οχι απλα γιατι το book το λεει τοτε συγνωμη, θα διαφωνησω.

    και 

    3)δεν ειναι βολικο το Update chema, γιατι εχεις 1 ακομα πραγμα να αγχώνεσαι.(προσωπική αποψη ξαναλεω).

    tnx

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
Σελίδα 1 από 2 (16 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems