<?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/74/ShowForum.aspx</link><description>Τα πρώτα βήματα στις γλώσσες VB6, VB.NET, και C#</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Resorting AA field in Database upon record delete</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/75622.aspx</link><pubDate>Thu, 14 Aug 2014 07:01:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:75622</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/75622.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=75622</wfw:commentRss><description>&lt;p&gt;Δεν έχω ασχοληθεί με το Mobile Services και έτσι δεν μπορώ να σου απαντήσω. Με SQL Azure databases πάντως μπορείς να βάλεις ότι θέλεις σαν datatype από αυτά που υποστηρίζονται σε αυτό. Δεν έχω δει πουθενά σε όσες τέτοιες databases που έχω φτιάξει να με υποχρεώνει για κάτι τέτοιο.&lt;/p&gt;&lt;p&gt;Το ερώτημα σου όμως το έβαλα στα TODO μου και θα το δω καθώς μου κάνει εντύπωση.&amp;nbsp;Υποψιάζομαι&amp;nbsp;δύο σενάρια αλλά πρέπει να τα επιβεβαιώσω.&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Resorting AA field in Database upon record delete</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/75587.aspx</link><pubDate>Tue, 29 Jul 2014 20:39:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:75587</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/75587.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=75587</wfw:commentRss><description>&lt;p&gt;Αντώνη θα συνεχισω απο το τελευταιο σου post και θα ηθελα σε παρακαλω να μου δωσεις μια απαντηση αν γνωριζεις. Στα Azure Mobile Services η Microsoft αλλαξε το id του καθε πινακα απο int σε string. Αν μαλιστα δεν δωσεις τιμη στο id σου περναει αυτοματα guid. Αν και εχει εξηγησει τους λογους για τους οποιους το εκανε θεωρω πως θα επρεπε να δινει την επιλογη στον χρηστη. Αν χρισημοποιησεις Mobile Service σαν .Net Backend ισως να εχεις την επιλογη να το ορισεις εσυ σαν int αλλα αν εχεις node.js τοτε το περνεις ετοιμο. Μου φαινεται λιγο περιεργη αυτη η προσεγγιση. Αραγε δεν γνωριζουν τα μειονεκτηματα μιας τετοιας προσεγγισης; Δεν γνωριζουν οτι το string σαν id datatype ειναι για μερικα σεναρια μονο; πως το προτεινουν σαν καθολικη λυση.&lt;/p&gt;&lt;p&gt;&amp;nbsp;και φθανω στο ερωτημα. μηπως με τον Sql Azure εχουν αλλαξει μερικα πραγματα ; Μηπως εκει δεν θα υπαρχει impact με την χρηση string σαν primary key; Μηπως εχουν κανει καποιο tweak στον Azure SQL για χρηση primary keys σαν strings ετσι ωστε να μην υπαρχουν προβληματα στην αποδοση;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;"&gt;καλες διακοπες!!!&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Απ: Resorting AA field in Database upon record delete</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/75586.aspx</link><pubDate>Tue, 29 Jul 2014 08:27:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:75586</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/75586.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=75586</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;manosB:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;
&lt;p class="MsoNormal"&gt;Θεωρώ ότι το πρωτεύον κλειδί
πρέπει να είναι πάντα &lt;span&gt;GUID&lt;/span&gt;&lt;span&gt; &lt;/span&gt;αλλά αυτό είναι άλλη συζήτησης. &lt;/p&gt;&lt;p&gt;

&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Η επιλογή του&amp;nbsp;guid data type as primary key πρέπει να γίνεται με σύνεση καθώς όπως έχω εξηγήσει εδώ&amp;nbsp;&lt;a href="http://www.sqlschool.gr/blog/uniqueidentifier-data-type-as-table-primary-key-or-clustered-index-56.aspx"&gt;http://www.sqlschool.gr/blog/uniqueidentifier-data-type-as-table-primary-key-or-clustered-index-56.aspx&lt;/a&gt;&amp;nbsp; δημιουργεί συνεχές fragmentation. Επίσης ακόμα και όταν γίνεται χρήση της newsequentialid είναι κακή πρακτική να είναι clustered index καθώς το datatype αυτό είναι 16 bytes και όταν έχω nonclustered indexes αυτό συμμετέχει μέσα στη δομή αυτών.&lt;/p&gt;&lt;p&gt;Τώρα σχετικά με το θέμα. Η απόλυτη αύξουσα αρίθμηση&amp;nbsp;πρακτικά δεν μπορεί να υπάρξει. Αν πάντως κάτι τέτοιο είναι επιθυμητό να γίνει θα πρέπει να γίνει σε ένα άλλο πεδίο που δεν είναι primary key.&amp;nbsp;Από εκεί και πέρα&amp;nbsp;το identity όπως και τα sequence δεν σου εγγυούνται ότι δεν θα υπάρχουν&amp;nbsp;gaps.&amp;nbsp;Θα πρέπει να βρεις την τεχνική που σε βολεύει για αυτό συνήθως είναι με ένα πίνακα που κρατάει την τιμή αυτή και&amp;nbsp;θα πρέπει να&amp;nbsp;κοιτάς και να ενημερώνεις ανάλογα. Αν πάντως θέλεις γρήγορα να ενημερώνεις το πεδίο αυτό μπορείς να το κάνεις με το παρακάτω&amp;nbsp;script .&amp;nbsp;Έστω ότι εχω τον πίνακα Τ και σε αυτό&amp;nbsp;το πεδίο είναι το ΑΑ&lt;/p&gt;&lt;p&gt;declare @I int = 0&lt;/p&gt;&lt;p&gt;update T set @I=AA=@I+1&lt;/p&gt;&lt;p&gt;Επειδή είμαι σε διακοπές δεν μπορώ να&amp;nbsp;το αναλύσω περισσσότερο αλλά πιστεύω ότι έπιασες το νόημα&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Resorting AA field in Database upon record delete</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/75583.aspx</link><pubDate>Mon, 28 Jul 2014 18:45:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:75583</guid><dc:creator>manosB</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/75583.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=75583</wfw:commentRss><description>&lt;p class="MsoNormal"&gt;Καταρχήν συμφωνώ απόλυτα με τον προλαλήσαντα.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Μια άλλη εναλλακτική είναι να μην πεις το πεδία Α/Α αλλά
κωδικό και να το σώνεις στην βάση σου σαν υποχρεωτικό πεδίο αλλά όχι φυσικά πρωτεύον
κλειδί.&amp;nbsp; Θεωρώ ότι το πρωτεύον κλειδί
πρέπει να είναι πάντα &lt;span&gt;GUID&lt;/span&gt;&lt;span&gt; &lt;/span&gt;αλλά αυτό είναι άλλη συζήτησης. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Θα μπορούσες να έχεις ένα κουμπί την φόρμα σου ‘Επαναρίθμηση΄
στο οποίο θα κάνεις &lt;span&gt;loop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;τις εγγραφές και θα αλλάζεις τον κωδικό αλλά μόνο με την
συγκατάθεση του χρήστη. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Επίσης στο &lt;span&gt;delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;μπορείς να τον ρωτάς αν θέλει και να κάνεις επαναρίθμηση των
κωδικών&amp;nbsp; και αν ναι τότε αφού κάνεις το &lt;span&gt;delete&lt;/span&gt; να κάνεις
επαναρίθμηση. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Όλα αυτά εξαρτώνται από το αν έχει &lt;span&gt;business&lt;/span&gt;&lt;span&gt; &lt;/span&gt;νόημα &lt;span&gt;o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;κωδικός.&amp;nbsp; Αν δεν έχει τότε η παραπάνω λύση δεν είναι
ενδεδειγμένη&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;</description></item><item><title>Απ: Resorting AA field in Database upon record delete</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/75582.aspx</link><pubDate>Mon, 28 Jul 2014 03:40:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:75582</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/75582.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=75582</wfw:commentRss><description>&lt;p&gt;Αν θελεις να κρατας στην βαση τον αριθμο που εχει καθε εγγραφη και ταυτοχρονα αυτος ο αριθμος να ειναι και το πρωτευων κλειδι τοτε εχεις δημιουργησει για τον εαυτο σου εναν πονοκεφαλο. Και πολυ μεγαλο μαλιστα.&lt;/p&gt;&lt;p&gt;θα μπορουσαμε να συζητησουμε το θεμα για την αυτοματη αριθμηση αλλα αν ειναι και πρωτευων κλειδι στον πινακα θα σου ελεγα να το σταματησεις εδω, να επιστρεψεις στην αναλυση σου και να το αποφυγεις. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span style="font-size:10pt;"&gt;Τα πρωτευων κλειδια δεν αλλαζουν, σε περιπτωση που εχεις και αλλους συσχετιζομενους πινακες στην βαση θα δημιουργησεις μπελαδες με καθε αλλαγη πρωτευων κλειδιου. Επισης δινεις την τιμη απο την εφαρμογη. Σιγουρα δεν θα την χρησιμοποιεισουν δυο χρηστες την εφαρμογη; Τι θα γινει εκει; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Αν τωρα δεν χρησιμοποεις το Α/α σαν πρωτευων κλειδι και αφηνεις την βαση ας πουμε να δινει το δικο της. Αν το θελεις στην εφαρμογη σου για να δειχνεις απλα σε ενα grid το συνολο των εγγραφων δεν χρειαζεται να το αποθηκευσης στην βαση. Μπορεις να κανεις ενα iteration στην λιστα με τα ονοματα και διπλα σε καθε ονομα να βαλεις την τιμη του index συν ενα. Ετσι θα εχεις παντα μια σωστη αριθμηση ανεξαρτητα το πως θα ειναι το ερωτημα σου στην βαση. Για παραδειγμα φερε μου τους πελατες που ξεκινουν απο καπα. Τι θα του εφερνες 56, 67, 79 ; Γιατι αν καταχωρησεις την αριθμηση στην βαση αυτο θα του εφερνες. Αν ομως το εκανες δυναμικα θα εδειχνες στο grid σου 1,2,3.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Οποτε οπως καταλαβαινεις ειμαι αντιθετος στην αποθηκευση του Α/A στην βαση και αντιθετος να αλλαζεις τα κλειδια. &amp;nbsp;&lt;/p&gt;</description></item><item><title>Resorting AA field in Database upon record delete</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/75581.aspx</link><pubDate>Sun, 27 Jul 2014 08:26:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:75581</guid><dc:creator>Squid</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/75581.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=75581</wfw:commentRss><description>&lt;p&gt;Καλησπέρα σας.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Είμαι νέος εδώ πέρα. Καταρχήν συγχαρητήρια για την Κοινότητα σας. &lt;/p&gt;&lt;p&gt;'Εχω κολήσει κάπου σε μια εφαρμογή που προσπαθώ να φτιάξω και θα ήθελα τα φώτα σας.&lt;/p&gt;&lt;p&gt;Εχω ενα πίνακα και εκει μέσα μαζεύω κάποιες εγγραφές. το Πεδίο Α/Α το καταχωρώ απο την φόρμα με δυναμικό τρόπο. Var = var +1.&lt;/p&gt;&lt;p&gt;Ολες οι εγγραφές με το που καταχωρούνται εμφανίζονται στο κάτω μέρος της φόρμας σε ένα Datagrid.&lt;/p&gt;&lt;p&gt;Οταν πάω να διαγράψω μια εγγραφή τότε χάνω την σείρα των Α/Α με αποτέλεσμα στην επόμενη νέα εγγραφή να μην κρατίεται η σειρα.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Να τονίσω ότι ο έλεγχος στα objects γίνεται μέσω κώδικα και όχι με τα έτοιμα που δίνει το κάθε object σε Design mode.&lt;/p&gt;&lt;p&gt;p.x&lt;/p&gt;&lt;p&gt;a/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&lt;/p&gt;&lt;p&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vagelis&lt;/p&gt;&lt;p&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; giorgos&lt;/p&gt;&lt;p&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; kostis&lt;/p&gt;&lt;p&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; marika&lt;/p&gt;&lt;p&gt;αν διαγραψω τον κωστή&lt;/p&gt;&lt;p&gt;τοτε έχω&lt;/p&gt;&lt;p&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vagelis&lt;/p&gt;&lt;p&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; giorgos&lt;/p&gt;&lt;p&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; marika&lt;/p&gt;&lt;p&gt;Θα ήθελα να είχα....&lt;/p&gt;&lt;p&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vagelis&lt;/p&gt;&lt;p&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; giorgos&lt;/p&gt;&lt;p&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; marika&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Μπορεί κάποιος να με βοηθήσει με ποιον τρόπο θα μπορέσω σε κάθε διαγραφή να κάνω resorting στο Α/Α ? Κολάω στο Query build..... :(&lt;/p&gt;&lt;p&gt;&amp;nbsp;Σας Ευχαριστώ. &lt;br&gt;&lt;/p&gt;</description></item></channel></rss>