<?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>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/17884.aspx</link><pubDate>Wed, 04 Oct 2006 08:29:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:17884</guid><dc:creator>rama</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/17884.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=17884</wfw:commentRss><description>Τα κατάφερα! Τώρα για το θέμα της απλοποίησης του κώδικα, το project που ανέβασα είναι εντελώς flat... όταν φτιάξω κάτι λειτουργικό θα ανεβάσω κώδικα να δείτε πως το έχω "σπάσει" σε UI, Business και Data Access κομμάτια. Νομίζω οτι δεν γίνεται αλλιώς.</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/17185.aspx</link><pubDate>Tue, 26 Sep 2006 05:50:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:17185</guid><dc:creator>infoCENTER</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/17185.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=17185</wfw:commentRss><description>O pkanavos έχει δίκιο.&lt;br /&gt;
&lt;br /&gt;
Η λύση είναι να καλέσεις της EndEdit μέθοδο του Binding Source. Αν πρόκειται για νέα εγγραφή θα προστεθέι άπό το Binding Source στο Dataset αν υπάρχει ήδη τότε θα περάσει τις αλλαγές στο Dataset στην συγκεκριμένη εγγραφή με την οποία δούλευες.</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/17172.aspx</link><pubDate>Tue, 26 Sep 2006 04:25:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:17172</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/17172.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=17172</wfw:commentRss><description>Έτσι όπως δείχνεις τον κώδικα, φαίνεται ότι όντως προσθέτεις δύο φορές το Row, μία φορά στο button1 και μία στο button2. Από τη στιγμή που το bindingsource συνδέεται ήδη με το DataTable, το bs.AddNew() έχει ήδη προσθέσει το Row στο DataTable. Όταν καλείς μετά την row.Table.Rows.Add(row), ξαναπροσθέτεις την ήδη υπάρχουσα γραμμή.&lt;br /&gt;
&lt;br /&gt;
Πάντως, ο κώδικας είναι πολύ μπλεγμένος. Δεν υπάρχει λόγος να προσθέτεις γραμμές μέσω του BindningSource ή να πειράζεις με το χέρι το BindingManagerBase. Αν προσθέσεις απευθείς το row στο datatable, θα πετύχεις το ίδιο</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/17166.aspx</link><pubDate>Tue, 26 Sep 2006 04:00:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:17166</guid><dc:creator>rama</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/17166.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=17166</wfw:commentRss><description>Κανείς?</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16994.aspx</link><pubDate>Thu, 21 Sep 2006 05:47:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16994</guid><dc:creator>rama</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16994.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16994</wfw:commentRss><description>Λοιπόν έφτιαξα ένα project. Κατ'αρχην μην φρικάρετε με αυτά που θα δείτε για δύο λόγους:&lt;br&gt;
&lt;br&gt;
α) Δεν είμαι guru &lt;br&gt;
&lt;br&gt;
b) O αντίστοιχος κώδικας που χρησιμοποιώ εγώ είναι σπασμένος σε 4-5 classes. Για αυτό το λόγο σε μερικά σημεία χρησιμοποιώ ταρζανιές όπως πχ: &lt;br&gt;
&lt;br&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;row.Table.DataSet&lt;/span&gt; στην &lt;br&gt;
&lt;br&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;adapter.Update(row.Table.DataSet, &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;this&lt;/span&gt;.tableName);&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
 αφού στη μέθοδο που κάνει τελικά το update παιρνάω το row.Table.Dataset. Υποθέτω οτι δεν παίζει ρόλο πάντως.&lt;br&gt;
&lt;br&gt;
Το project είναι σε C# για VS 2005 (χρησιμοποιώ το express). Ακόμα ξέρω οτι ο CommandBuilder δεν είναι οτι καλύτερο αλλά αυτό είναι κάτι που θα αλλάξω στην πορεία. Προς το παρών πάω για τα απλα πράγματα.&lt;br&gt;
&lt;br&gt;
Η βάση μου είναι σε MySQL και ο πίνακας Schools έχει σαν πρώτη κολώνα το id (το οποίο δεν συμπληρώνεται στην εισαγωγή γιατί είναι auto increment και θα γίνει readonly). To δεύτερο πεδίο είναι ένα πεδίο varchar. Τα ονόματα των πεδίων προφανώς δεν έχουν σημασία. &lt;br&gt;
&lt;br&gt;
Για να αναπαράγετε το πρόβλημα αφού ανοίξει η εφαρμογή και κάνει το select θα φέρει οτι υπάρχει στον πίνακα. Στην συνέχεια πατήστε Add, γράψτε κάτι στο 2ο txtBox και μετά πατήστε commit. Να πω εδώ οτι δεν με ενδιαφέρει να κάνω εισαγωγή στοιχείων από το grid και γενικά δεν χρησιμοποιώ τα controls για datasets, bindingsources κτλ&lt;br&gt;
&lt;br&gt;Δεν βρήκα πως να ανεβάσω αρχείο οπότε το έβαλα στο rapidshare &lt;a href="http://rapidshare.de/files/33838990/DataBoundCRUD.rar.html" target="_blank"&gt;http://rapidshare.de/files/33838990/DataBoundCRUD.rar.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;PS: Το βρήκα το συνημένο ... περασμένη η ώρα ...&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16931.aspx</link><pubDate>Wed, 20 Sep 2006 00:35:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16931</guid><dc:creator>γιωργος μπακογιαννης</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16931.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16931</wfw:commentRss><description>Να επιμείνω και εγώ για ένα projectάκι.&lt;br /&gt;
&lt;br /&gt;
Ένα «project» 1000 λέξεις &lt;img src="/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16927.aspx</link><pubDate>Tue, 19 Sep 2006 23:00:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16927</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16927.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16927</wfw:commentRss><description>Υποπτεύομαι οτι τη δεύτερη φορά, το row το οποίο σου γυρίζει - για κάποιο λόγο - το ((DataRowView)bs.AddNew()).Row; είναι ένα υπάρχον row, και σου σκάει το Rows.Add(...). Αυτά απο το exception που σου σκάει, το "This row already belongs to this table".&lt;br /&gt;
&lt;br /&gt;
Αυτό βέβαια είναι λίγο παράξενο, και σίγουρα κάπου κάτι κάνεις λάθος, αλλά είναι πολύ δύσκολο να μαντέψει κάποιος απο το λίγο κώδικα που μας έδειξες ...</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16885.aspx</link><pubDate>Tue, 19 Sep 2006 13:51:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16885</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16885.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16885</wfw:commentRss><description>Κάτι ξεχνάς να φτιάξεις. Δοκίμασε να τα φτιάξεις όλα από τον designer (drag'n drop από τη βάση, generate dataset κλπ.) και δες τον κώδικα που βγάζει.&lt;br&gt;</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16884.aspx</link><pubDate>Tue, 19 Sep 2006 08:07:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16884</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16884.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16884</wfw:commentRss><description>Μήπως να μας ανέβαζες ένα projectάκι; Ομολογώ ότι δεν έχω πολυκαταλάβει πως προσπαθείς να κάνεις αυτό που κάνεις...</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16882.aspx</link><pubDate>Tue, 19 Sep 2006 06:56:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16882</guid><dc:creator>rama</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16882.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16882</wfw:commentRss><description>Μα αν ήταν έτσι δεν θα είχα πρόβλημα από το πρώτο Insert? &lt;br /&gt;
&lt;br /&gt;
Στην βάση έχω δηλώσει το primary key μου και το έχω βάλει και autoincrement. Χρειάζεται να κάνω κάτι και στο DataSet? &lt;br /&gt;
&lt;br /&gt;
Βασικά ότι χρησιμοποιώ το φτιάχνω με κώδικα (πχ τον adapter) και τα update queries του τα δημιουργώ (προς το παρών) με CommandBuilder. Το πρόβλημα που αναφέρω παρουσιάζεται με DataTable που γεμίζω με ένα απλό select * σε ένα πίνακα.</description></item><item><title>Απ: Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16881.aspx</link><pubDate>Tue, 19 Sep 2006 06:43:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16881</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16881.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16881</wfw:commentRss><description>Μήπως το primary key σου δεν είναι identity για να παίρνει μόνο του νούμερα και ο adapter προσπαθεί να χώσει κάθε φορά στη βάση row με το ίδιο ID; Δες το schema του πίνακα ξανά και αν δεν βρεις κάτι, δοκίμασε να σουτάρεις και να ξαναφτιάξεις τον adapter μήπως δεν έχει πιάσει σωστά το πεδίο.&lt;br&gt;</description></item><item><title>Adding a new row</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/16877.aspx</link><pubDate>Tue, 19 Sep 2006 05:18:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:16877</guid><dc:creator>rama</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/16877.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=78&amp;PostID=16877</wfw:commentRss><description>Επιχειρώ να φτιάξω ένα control με το οποίο να διαβαζω τα columns από ένα datatable και να δημιουργώ τα αντίστοιχα πεδία για να κάνει εισαγωγή ο χρήστης δυναμικά (το σχέδιο είναι προφανώς πολύ τραβηγμένο). Για να γεμίζω τις τιμές των πεδίων και να παρω τις νεες τιμες για insert και update χρησιμοποιώ τους binding μηχανισμούς του .NET. Το προβλημα που έχει παρουσιαστεί έχει να κάνει με το insert. Μπορώ να κάνω ένα insert κανονικά χωρίς προβληματα. Όταν επιχειρώ να κάνω το δεύτερο παίρνω error :"This row already belongs to this table". Οι εντολές που εκτελώ για να γίνει ένα insert είναι οι παρακάτω:&lt;br&gt;&lt;br&gt;((DataRowView)bs.AddNew()).Row; //(c#) όπου bs = BindingSource.&lt;br&gt;// Μεσολαβεί η καταxώριση των στοιχείων. Tο binding έχει γίνει νωρίτερα και δεν αλλάζει για όσο "ζει" το control&lt;br&gt;row.Table.Rows.Add(row); &lt;br&gt;adapter.Update(row.Table.DataSet, this.tableName);&amp;nbsp;&amp;nbsp; (οκ όχι ότι πιο κομψό!)&lt;br&gt;&lt;br&gt;Την δεύτερη φορά που πάω να κάνω update η εφαρμογή σκάει στην πρώτη εντολή. &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>