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

 

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

Πέρασμα εγγραφής από μια form σε άλλη

Îåêßíçóå áðü ôï ìÝëïò mcrae. Τελευταία δημοσίευση από το μέλος KelMan στις 06-06-2007, 08:46. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-06-2007, 04:29 32614

    Πέρασμα εγγραφής από μια form σε άλλη

    Για σας είμαι  νέο μέλος και αρχάριος με τον προγραμματισμό γενικός.  

    Προσπαθώ να φτιάξω  μια Windows Application στην visual studio 2005 σε  γλώσσα C#  που να συνδέετε με μια βάση σε sql server 2005.

    Αρχικά έχω 2 form,form1 και form2 και 2 table ,table1 και table2. έχω καταφέρει να συνδέσω το form1 με το table1 και αντίστοιχα το form2 με το table2 έτσι ώστε να κάνω νέα εγγραφή ,αποθήκευση κτλ από την φόρμα  στο αντίστοιχο table στην βάση μου. Στην συνέχεια έβαλα στην form1 ένα  button έτσι ώστε να ανοίγει την form2.Εδω αρχίζουν οι απορίες μου γιατί θέλω όταν είμαι πχ. στην εγγραφή 4 της form1 μόλις  πατήσω το κουμπί να ανοίξει η form2 και να είναι και αυτή στην 4η  εγγραφή του table2.

    Στην αρχή  πέρασα την τιμή του form1.IDtextbox  στην form2.IDtextbox (στα table που έχω υπάρχει και στα 2 το πεδίο ID) θεωρώντας ότι θα δουλέψει . Τελικά μάλλον ήταν μεγάλη πατάτα.

    Ύστερα  συνέδεσα τα tables με relation ( τα πεδία ID) και έφτιαξα  query στο tableadapter και πάλι τζίφος δεν κατάφερα τπτ.

    Θα ήθελα να μου πείτε αν κάποιο από τα 2 σκεπτικά είναι σωστό και να μου εξηγήσετε πια είναι η σωστή προσέγγιση για το συγκεκριμένο πρόβλημα που έχω.

    Συγνώμη για την έκθεση που έγραψα αλλά προσπάθησα να γίνω όσο πιο κατανοητός μπορούσα.

    Ευχαριστώ.

  •  05-06-2007, 11:13 32620 σε απάντηση της 32614

    Απ: Πέρασμα εγγραφής από μια form σε άλλη

    Καλημέρα Collin (McRae)[;-)],

    Αντί να συνδέεις την κάθε φορμα με το αντοιστιχο Table, φτιάξε ενα Class που θα εχει properties τα πεδία και των 2 Tables, και θα διαχειρίζετε το Save (να κάνει Save το Table2 πρώτα να πέρνεις το ID του και να το βάζεις στο Table1), το Delete, και το Read.

    Ετσι μπορεις να περνάς αυτό το Class απο την μία φόρμα στην άλλη (μέσο του Constructor),με αυτόν τον τρόπο θα είσαι πιο σίγουρος ότι αν και οι δύο φόρμες δεν ξέρουν τίποτα η μία για την άλλη, το Class σου ξέρει!

    Αν θες μπορεις να βάλεις και αλλα Buissnes logics στο class.(π.χ. δεν μπορεις να σώσεις χώρις να εχουν γεμίσει τα απαραίτητα στοιχεία).

    Ελπίζω να βοήθεισα

    Νάσος


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  05-06-2007, 12:44 32622 σε απάντηση της 32620

    Απ: Πέρασμα εγγραφής από μια form σε άλλη

    Νομίζω πως η λύση που προτείνεις για έναν αρχάριο προγραμματιστή στο .NET είναι προχωρημένη για αυτόν.

    McRey από αυτά που γράφεις καταλαβαίνω πως είσαι σχετικά καινούριος με το .NET και ίσως παραπάνω θα έλεγα με προγραμματισμό. Δεν χρειάζεται να δημιουργήσεις 2 πίνακες για να συνδέσης δύο φόρμες. Ακόμα και μία εξήγηση του πως μπορείς να κάνεις αυτό που θες θα δημιουργούσε από την πλευρά σου άλλες απορίες για το πως να υλοποιήσεις την προσφερόμενη λύση. Για την ιστορία ο πιο εύκολος τρόπος για να κάνεις αυτό που θες είναι το Data Binding. Και πάλι όμως θα σου έλεγα να αρχίσεις να διαβάζεις...

  •  05-06-2007, 14:46 32628 σε απάντηση της 32614

    Απ: Πέρασμα εγγραφής από μια form σε άλλη

    Εμμμ ... αν το πάρεις απ'την αρχή, ίσως σου έρθει πιο εύκολο ...

    1. Πρώτα απ'όλα, τα 2 tables στη βάση σου, ΠΡΕΠΕΙ να υπάρχουν; Τί σχέση έχει το ένα με το άλλο ;
    2. Δεύτερον - και ίσως πιο σημαντικό. Πιθανώς σε μπερδεύει το ότι έχεις να κάνεις με tables σε μια βάση. Στη θέση σου θα ξεκινούσα ένα μικρό "prototype" project-άκι, όπου έχω σε ένα application 2 φόρμες, και πατώντας ένα κουμπί στη μία, ανοίγει η άλλη με κάποια μεταβλητή που προήλθε απο την πρώτη φόρμα. Σπάσε αυτά που πρέπει να κάνεις με άλλα λόγια, σε μικρότερα, πιο απλά κομμάτια.
    3. Αφού κάνεις το [2], τότε αρχίζεις να κοιτάς για binding σε δεδομένα, και στη δεύτερη φόρμα σου κάνεις το select απο το table χρησιμοποιώντας τη μεταβλητή που σου ήρθε απο την πρώτη φόρμα για φιλτράρισμα των εγγραφών που θα σου φέρει το query σου.

    happy coding :]

    Angel
    O:]
  •  06-06-2007, 03:05 32645 σε απάντηση της 32628

    Απ: Πέρασμα εγγραφής από μια form σε άλλη

    Τελικά χρησιμοποίησα ένα table και ακολούθησα τα βήματα που μου πρότεινε ο anjelinio.

    Πέρασα μια τιμή από την πρώτη φόρμα στην δεύτερη και μετά με query εμφάνισα τα πεδία που ήθελα.

    Ευχαριστώ για την βοήθεια και τον χρόνο που αφιερώσατε  για να απαντήσετε.


        Υ.Γ   Υποθέτω ότι πρέπει να βάλλω την κατάσταση  τις ενότητας ως  ¨ έχει επιλυθεί¨ 

              σωστά;

  •  06-06-2007, 08:46 32650 σε απάντηση της 32645

    Απ: Πέρασμα εγγραφής από μια form σε άλλη

    Σωστά. Και να πατήσεις το "Σημείωση ως απάντησης" στα posts που σε βοήθησαν.


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems