<?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>Πρώτα Βήματα - Βάσεις δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/73/ShowForum.aspx</link><description>Για όσους κάνουν τα πρώτα τους βήματα στην Microsoft Access ή τον SQL Server, ή γενικότερα στη θεωρία βάσεων δεδομένων.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55668.aspx</link><pubDate>Fri, 04 Dec 2009 05:24:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55668</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55668.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55668</wfw:commentRss><description>&lt;P&gt;Στην περίπτωση του identity δεν χρειάζεται. Μπορεί όμως να έχεις κάποιο calculated πεδίο το οποίο αλλάζει τιμή μετά από ένα update. Για να πάρεις τη νέα τιμή του calculated πεδίου προσθέτεις ένα select στο update command για να πάρεις πίσω τη νέα τιμή.&lt;/P&gt;</description></item><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55663.aspx</link><pubDate>Fri, 04 Dec 2009 02:56:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55663</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55663.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55663</wfw:commentRss><description>Στο update command γιατί χρειάζεται;&lt;br&gt;Υπάρχει περίπτωση η βάση να σου αλλάξει την τιμή ενός κλειδιού μιας υπάρχουσας εγγραφής και κατά το Update να χρειάζεται επιστροφή και ενημέρωση στον Dataset?&lt;br&gt;</description></item><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55655.aspx</link><pubDate>Fri, 04 Dec 2009 00:28:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55655</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55655.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55655</wfw:commentRss><description>Σωστή είναι. Έβαλα τελικά MySQL για να δω τί γίνεται με τον Connector και για να βρω μία απάντηση για την ερώτηση του Azular για Unicode. Γενικά στο ADO.NET για να πάρεις την τιμή ενός column που δημιουργείται στη βάση πρέπει το Insert/Update command που χρησιμοποιείς να σου επιστρέψει την τιμή αυτή. Αυτό μπορεί να γίνει είτε με ένα επιπλέον select είτε, αν χρησιμοποιείς stored procedures, με ένα output parameter.</description></item><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55652.aspx</link><pubDate>Thu, 03 Dec 2009 23:52:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55652</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55652.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55652</wfw:commentRss><description>Εντάξει το βρήκα με λίγο ψάξιμο έπρεπε να γράψω το InsertCommand string ως εξής:&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT INTO `DBTEST`.`eidos` (`EIDOS`) VALUES (@EIDOS); &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; LAST_INSERT_ID() &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; EIDOSID&lt;/span&gt;&lt;/pre&gt;Αν βοηθάει κανένα και για μελλοντική χρήση στο Datatable όρισα και τα εξής:&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;        ds.Tables(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"eidos"&lt;/span&gt;).Columns(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"EIDOSID"&lt;/span&gt;).AutoIncrement &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;True&lt;/span&gt;&lt;br&gt;        ds.Tables(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"eidos"&lt;/span&gt;).Columns(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"EIDOSID"&lt;/span&gt;).AllowDBNull &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;False&lt;/span&gt;&lt;br&gt;        ds.Tables(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"eidos"&lt;/span&gt;).Columns(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"EIDOSID"&lt;/span&gt;).Unique &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;True&lt;/span&gt;&lt;br&gt;        ds.Tables(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"eidos"&lt;/span&gt;).Columns(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"EIDOSID"&lt;/span&gt;).AutoIncrementSeed &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; -1&lt;br&gt;        ds.Tables(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"eidos"&lt;/span&gt;).Columns(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"EIDOSID"&lt;/span&gt;).AutoIncrementStep &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; -1&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;h1&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/h1&gt;Για να μην έχω σύγχυση ανάμεσα στα id του Dataset και του server.&lt;br&gt;Ελπιζω να είναι σωστή η λογική μου, αλλά αφού παίζει μια χάρα προς το παρόν το αφήνω έτσι και προχωράω.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55635.aspx</link><pubDate>Thu, 03 Dec 2009 06:51:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55635</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55635.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55635</wfw:commentRss><description>Έχω δημιουργήσει τα απαραίτητα commands (select,delete,insert,update) μέσω του tableadapter wizard.&lt;br&gt;όλα τα commands δουλεύουν εντάξει. Το πρόβλημα είναι με τις νέες εγγραφες και το Insert command.&lt;br&gt;Όταν
κάνω update με τον dataadapter ναι μεν εγγραφονται οι νέες εγγραφες
στον server αλλά στον dataset δεν μου επιστρέφονται τα νέα ids(τα οποία
προκύπτουν από autoincrement field στον server) και δεν ενημερώνεται το
σχετικό πεδίο .&lt;br&gt;Δεν ξέρω πως να χειριστώ το θέμα.Μήπως να χρησιμοποιήσω mysqlcommandbuilder αντι να ορίζω ξεχωριστά τα commands;&lt;br&gt;Πως συνεχίζω;Καμία ιδέα;</description></item><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55614.aspx</link><pubDate>Wed, 02 Dec 2009 18:18:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55614</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55614.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55614</wfw:commentRss><description>Απ'ότι κατάλαβα πρέπει στο commandbuilder να ορίσουμε το ReturnGeneratedIdentifiers σε true για να λειτουργεί αυτή η δυνατότητα. Έχω τον connector 6.2 που απ'ότι φαίνεται έχει ήδη καταργηθεί το ReturnGeneratedIdentifiers.&lt;br&gt;&lt;br&gt;Version 6.1.2&lt;br&gt;- fixed hanging after losing network connectivity to server (bug#43761) &lt;br&gt;&amp;nbsp; Better fix is planned for 6.2&lt;br&gt;- removed ReturnGeneratedIdentifiers.&amp;nbsp; We are now treating the command builder exactly&lt;br&gt;&amp;nbsp; the same way SqlClient does&lt;br&gt;- fixed some bugs with session state provider&lt;br&gt;- fixed typo in asp.net config wizard&lt;br&gt;&lt;br&gt;Σε αυτή την περίπτωση πως το χειρίζομαι το θέμα; Τι εννοεί όταν λέει:We are now treating the command builder exactly&lt;br&gt;
&amp;nbsp; the same way SqlClient does</description></item><item><title>Απ: Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55598.aspx</link><pubDate>Wed, 02 Dec 2009 02:04:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55598</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55598.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55598</wfw:commentRss><description>&lt;P&gt;Αντί να προσπαθείς να αλλάξεις "στα γρήγορα" ένα project για μία database ώστε να παίξει με μία άλλη εντελώς διαφορετική, κοίτα το documentation. Ειδικά αυτό που ζητάς αναφέρεται &lt;A href="http://dev.mysql.com/doc/refman/5.4/en/connector-net-faq.html"&gt;ως παράδειγμα&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Οι δύο βάσεις έχουν πολύ σημαντικές διαφορές μεταξύ τους, τόσο στον τρόπο λειτουργίας όσο και στις εντολές που υποστηρίζουν. Θα πρέπει να προσέξεις τί κάνει ο κώδικας σου και πως δουλεύουν οι βάσεις, διαφορετικά θα σπαταλήσεις πάρα πολύ χρόνο με "μικροδιορθώσεις" οι οποίες θα δημιουργούν νέα προβλήματα συνεχώς.&lt;/P&gt;</description></item><item><title>Identity Value όταν κάνω insert νέες εγγραφές με Mysql</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55594.aspx</link><pubDate>Wed, 02 Dec 2009 01:30:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55594</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55594.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=55594</wfw:commentRss><description>Μέχρι τώρα έχω χρησιμοποιήσει &lt;b&gt;OleDbCommand&lt;/b&gt; για να κάνω insert queries σε μια βάση της Access. Επειδή δεν μου επέστρεφε την τιμή του πεδίου auto-increment key field χρησιμοποιούσα ένα δεύτερο&amp;nbsp;&lt;b&gt;OleDbCommand&lt;/b&gt;:ως εξής&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;br&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Public&lt;/span&gt; cmdGetIdentity &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; OleDb.OleDbCommand(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT @@IDENTITY"&lt;/span&gt;, Connection)&lt;/span&gt;&lt;/pre&gt;Στην συνέχει δήλωνα ένα sub για τον πίνακα που με ενδιέφερε&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt; RowUpdatedSet_FOREAS(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Object&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; OleDb.OleDbRowUpdatedEventArgs)&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;If&lt;/span&gt; e.Status &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; UpdateStatus.Continue &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AndAlso&lt;/span&gt; e.StatementType &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; StatementType.Insert &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Then&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' If this is an INSERT operation...&lt;/span&gt;&lt;br&gt;            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;' Execute the post-update query to fetch new @@Identity&lt;/span&gt;&lt;br&gt;            cmdGetIdentity.Transaction &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Adapter_Foreas.InsertCommand.Transaction&lt;br&gt;            e.Row(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"FOREASID"&lt;/span&gt;) &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CInt&lt;/span&gt;(cmdGetIdentity.ExecuteScalar)&lt;br&gt;&lt;br&gt;            e.Row.AcceptChanges()&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;If&lt;/span&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Και τέλος αυτό στον adapter,&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AddHandler&lt;/span&gt; Adapter_Foreas.RowUpdated, &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AddressOf&lt;/span&gt; RowUpdatedSet_FOREAS&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;Έτσι μου επέστρεφε την τιμή του πρωτεύοντος κλειδιού της νέας εγγραφής στην βάση. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Το ερώτημα είναι ότι θέλω να κάνω το ίδιο αλλά με βάση δεδομένων την Mysql.&lt;/p&gt;&lt;p&gt;Τι πρέπει να αλλάξω; φαντάζομαι το πρώτο είναι το &lt;b&gt;OleDbCommand &lt;/b&gt;να γίνει &lt;b&gt;MySqlCommand&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Τι αλλαγές πρέπει να κάνω στο &lt;/b&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt; RowUpdatedSet_FOREAS και στο &lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT @@IDENTITY";&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item></channel></rss>