<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ADO.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/78/ShowForum.aspx</link><description>Θέματα σχετικά με την προσπέλαση δεδομένων μέσω του ADO.NET και του System.Data namespace</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Αλλη μία ερώτηση για concurrency violation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33368.aspx</link><pubDate>Wed, 04 Jul 2007 17:24:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33368</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33368.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=33368</wfw:commentRss><description>&lt;p&gt;Καταρχήν δε χρειάζεται να καλέσεις την AcceptChanges μετά το DataAdapter.Update, γιατί καλείται αυτόματα από το τελευταίο. Αυτή η συμπεριφορά ελέγχεται από το property AcceptChangesDuringUpdate του DataAdapter. By default έχει τιμή true. Απλά σαν παρατήρηση, μια που δεν προκαλεί αυτό το πρόβλημα.&lt;/p&gt;&lt;p&gt;Σε περίπτωση που δεν είναι γνωστό, Concurrency violation σημαίνει ότι τα δεδομένα που πας να αποθηκεύσεις έχουν αλλαχτεί και από κάποιο άλλο process από τη στιγμή που εσύ τα πήρες ή τα έστειλες τελευταία φορά για update. Αυτό το process μπορεί να είναι άλλος φυσικός χρήστης που χρησιμοποιεί την βάση σου ή κάποιο άλλο thread της εφαρμογής σου που το βάζεις να κάνει κάτι (την έχω πατήσει έτσι και έψαχνα ώρα να βρω τι γίνεται! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-10.gif" alt="Embarrassed" /&gt;).&lt;br&gt;&lt;/p&gt;&lt;p&gt;Μήπως υπάρχει κάτι που τρέχει και κάνει αλλαγές στα δεδομένα σου μετά το update; Αν θέλεις άνοιξε τον SQL Server Profiler να δεις τι τρέχει μετά το update.&lt;/p&gt;&lt;p&gt;Σε &lt;a href="http://msdn2.microsoft.com/EN-US/library/aa0416cz%28VS.80%29.aspx" target="_blank"&gt;αυτή τη σελίδα&lt;/a&gt; μπορείς να διαβάσεις για το πως μπορείς να λύσεις το πρόβλημα. Συγκεκριμένα πρέπει να χρησιμοποιήσεις το OnRowUpdated event. Σαν εναλλακτική, σου προτείνω το εξής, που είχε λύσει το πρόβλημα στη δική μου περίπτωση. Επειδή εγώ είχα όντως κάποιο thread που έκανε αλλαγές στα δεδομένα μου και επειδή το συγκεκριμένο thread πείραζε μόνο columns που δεν πείραζε ποτέ ο χρήστης (ήταν readonly γι αυτόν), απλά εξαίρεσα αυτές τις στήλες από το update, χωρίς να χρησιμοποιήσω το OnRowUpdated event.&lt;br&gt;&lt;/p&gt;</description></item><item><title>Αλλη μία ερώτηση για concurrency violation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33366.aspx</link><pubDate>Wed, 04 Jul 2007 15:21:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33366</guid><dc:creator>Ηλίας Κεκάκος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33366.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=33366</wfw:commentRss><description>&amp;nbsp; Ισως είναι κουραστικό αλλά έχω ένα προβληματάκι με concurrency violation. Έχω ένα dataset και αφού ο χρήστης κάνει μία αλλαγή σε μία συγκεκριμένη εγγραφή την καταχωρή στην ΒΔ μέσω της DATAADAPTER.UPDATE(DATASET) και με την χρήση ενός COMMANDBUILDER. Μετά το update χρησιμοποιώ την DATASET.ACCEPTCHANGES.&amp;nbsp;Αν ξανακάνω αλλαγή στην ίδια εγγραφή έχω concurrency violation. Ενημέρωση στην ΒΔ από αλλού δεν υπάρχει. Τι πρέπει να κάνω; Να ξαναφορτώσω το Dataset μετά το update;&amp;nbsp;Υπάρχει άλλος τρόπος;</description></item></channel></rss>