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

 

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

Update με DataSet

Îåêßíçóå áðü ôï ìÝëïò sms. Τελευταία δημοσίευση από το μέλος KelMan στις 18-07-2006, 08:46. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-03-2006, 17:21 11224

    Update με DataSet

    Ας στείλω και εγώ το πρώτο μου post ως πρωτάρης στην asp.net

    Έχω φτιάξει μια φόρμα που θα κάνω edit  ένα όνομα και επίθετο ενός πελάτη από ένα πίνακα πελατών.Θέλω να κάνω update  με dataset.Φτιάχνω το select query μέσα από τον wizard
    του sql adapter και αυτόματα μου παράγει και τα υπόλοιπα query και τις παραμέτρους με optimistic concurrency.Έπειτα μέσα στον handler του update button ορίζω τις τιμές των παραμέτρων (και των απλων και των original) και καλώ sqladapter.update(dataset.TableName).Ξεχνάω κάτι? Γιατι update στη βάση δεν γίνεται.Τις τιμές των παραμέτρων θέλω να τις παίρνω από τα textboxes.Που κάνω λάθος????
  •  27-03-2006, 23:07 11232 σε απάντηση της 11224

    Απ: Update με DataSet

    Οκ, με μπερδεύεις... Τι ακριβώς εννοείς όταν λες ορίζεις τις τιμές των παραμέτρων; Εννοείς των παραμέτρων των queries που σου έχει παράγει; Αν ναι το αντιμετωπίζεις κάπως λάθος.

    Αν θες να χρησιμοποιήσεις το DataSet για να κάνει το update τότε ο ενδεδειγμένος τρόπος είναι να πειράξεις τα περιεχόμενα του Dataset (τις εγγραφές δηλαδή) και μετά να καλέσεις την update. Για παράδειγμα :

    Dataset dataset = GetDatasetFromDatabase();
    dataset.Tables["Table1"].Rows[0]["Column1"] = "Value1";
    dataset.Tables["Table1"].Rows[0]["Column2"] = "Value2";
    sqladapter.Update(dataset.Table1);


    Στερνή μου γνώση να σε είχα πρώτα...
  •  28-03-2006, 10:14 11249 σε απάντηση της 11224

    Απ: Update με DataSet

    Ναί αυτό κάνω.Ετσι δεν πρέπει?Δεν υπάρχει τρόπος να γίνει με αυτόν τον τρόπο?

    Να πάρω τα TextBox values και να τα βάλω στις μισές παραμέτρους και τις original παραμέτρους να τις γεμίσω με τις original row version από το dataset που γέμισε αρχικά.

    Αλλιώς πως θα εκάνω έλεγχο για concurrency???



  •  28-03-2006, 10:19 11250 σε απάντηση της 11249

    Απ: Update με DataSet

    Όχι, ο έλεγχος για concurrency δεν γίνεται με αυτόν τον τρόπο...

    Αν και δεν αναφέρονται μόνο σε ASP.NET, διάβασε τα δύο άρθρα μου περί concurrency: http://www.dotnetzone.gr/cs/blogs/mkelaiditis/articles/9585.aspx, οι αρχές είναι ίδιες.


    Vir prudens non contra ventum mingit
  •  18-07-2006, 01:18 14864 σε απάντηση της 11224

    Απ: Update με DataSet

    Προσπαθώ να φτιάξω ένα generic set από κλάσεις που να αναλαμβάνει να κάνει τα select και τα updates και διάβασα το thread αυτό, γιατί το κομμάτι του update μου φάνηκε λίγο κάπως (παλιές συνήθειες). Ρωτάω λοιπών:

    1. Αντί να γράφουμε στο αρχικό dataset δεν θα ήταν καλύτερο αν είχαμε ένα κενό dataset και κάναμε εισαγωγή ενός νέου row και μετά merge? Το ερώτημα βέβαια είναι πως μπορούμε να πάρουμε αυτό το κενό dataset.

    2. Θα πρέπει και πάλι να δηλώσω insert,update & delete commands ή έστω να χρησιμοποιήσω τον command builder (κάτι μου λέει πως ναι)? Performance is not an issue at this point.

    Κάποιος?
  •  18-07-2006, 08:46 14869 σε απάντηση της 14864

    Απ: Update με DataSet

    1. Γιατί να μην γράφεις στο αρχικό DataSet; Και καλύτερο από ποιά άποψη, για να έχει μόνο τις αλλαγές μέσα; Σε αυτήν την περίπτωση, μπορείς πάντοτε να κάνεις DataSet.GetChanges ή DataTable.GetChanges. 2.

    2. Ναι, πάντοτε θα χρειαστεί να φτιάξεις τα commands. Ο wizard όμως του DataAdapter τα φτιάχνει μια χαρά. O CommandBuilder έχει αρκετά προβλήματα (δες εδώ: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadonet/html/CommandBuilder.asp) και γι αυτό χρησιμοποιείται μόνο για proof-of-point ρουτινούλες.


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