<?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>Windows Mobile</title><link>https://www.dotnetzone.gr:443/cs/forums/31/ShowForum.aspx</link><description>Θέματα development για SmartPhones, Pocket PC και γενικά φορητές συσκευές με το .NET Compact Framework και τα ASP.NET mobile controls</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Προβλημα σε Smart Device Project με Merge Replication στο πεδίο RowGuid</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61490.aspx</link><pubDate>Sat, 11 Dec 2010 00:08:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61490</guid><dc:creator>aris_7</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61490.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=61490</wfw:commentRss><description>Η λύση τελικά ήταν ΕΝΤΕΛΩΣ απλή (εώς χαζή), απλά δεν γνωρίζω το θέμα και παιδευόμουνα χωρίς λόγο.. Η τιμή που πρέπει να πάρει για μία νέα μεταβλητή είναι Guid.NewGuid() και το προγραμμα αναθέτει αυτόματα μια νέα τιμή τυπου Guid&lt;br&gt;&lt;br&gt;Κατάφερα λοιπόν να κάνω Delete και NewRow το θέμα είναι πλέων πως να κάνω Udpate μια εγγραφή.&lt;br&gt;&lt;br&gt;Οταν πας να κανεις αλλαγη σε μια εγγραφή μέσω του DataTableAdapter χρησιμοποιώντας την εντολή myDataAdapter.Update() από Default έχει σαν είσοδο τα πεδία του πίνακα που θέλουμε να αλλάξουμε σε σειρά (και το πεδίο RowGuid), χωρίς όμως το πεδίο - κλειδί (πχ ID) , και μετά πέρνει 2 επιπλέων ορίσματα: το πεδίο - κλειδί (πχ ΙD) και το rowguid για επιβεβαίωση της εγγραφής που θέλουμε να παραμετροποιήσουμε. Βέβαια δεν είναι επιτρεπτό να πειράξεις τα πεδία στο Rowguid (οπως και το πεδίο κλειδί) και χτυπάει σφάλμα κατα την εκτέλεση της εντολής&lt;br&gt;&lt;br&gt;Η λύση έρχεται χειροκίνητα επεμβένοντας στο XSD.cs. Εκει πρέπει να βρούμε την εντολή που κάνει Update το DataTable σε κώδικα SQL (στην δικιά μου περίπτωση this._adapter.UpdateCommand.CommandText) και να αφαιρέσουμε από τον κώδικα SQL το πεδίο RowGuid όπου το κάνει Update. Αν θέλουμε μπορούμε να αλλάξουμε και τα ορίσματα που πέρνει η Update (για ευκολία γράφουμε κάπου στο πρόγραμμα, πχ στο Form1.Cs, την εντολή myTableAdapter.Update() και με δεξί κλικ πατάμε στο GoToDefinition και μας πηγαίνει αυτόματα). Εκεί μπορούμε να σβήσουμε εντελώς το όρισμα RowGuid για την εντολη Update του συγκεκριμένου πίνακα. Αν όχι μπορουμε απλά να βάζουμε οτι ορίσματα θέλουμε στο RowGuid στην Update (οχι ομως Null) αφού έτσι κ αλλιώς δεν λαμβάνονται υπόψην&lt;br&gt;&lt;br&gt;Τα γράφω όλα αυτά σε περίπτωση που κάποιος κολλήσει στο ίδιο πρόβλημα με εμένα&lt;br&gt;&lt;br&gt;Το θέμα είναι οτι η αυτόματη δημιουργία φορμών του Studio 2008 δεν δουλεύει (τουλάχιστον όχι χωρίς παραμετροποιήσεις) σε περιπτώσεις Database από Merge Replications. Θα έπρεπε το σύστημα αυτόματα να ξεχώριζε αυτην την περίπτωση, αλλά δεν το κάνει. Οπότε στην δικιά μου περίπτωση τα έκανα ΟΛΑ ΧΕΙΡΟΚΙΝΗΤΑ (οι φόρμες δλδ, όχι το Dataset) και δούλεψαν!&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Προβλημα σε Smart Device Project με Merge Replication στο πεδίο RowGuid</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61264.aspx</link><pubDate>Fri, 03 Dec 2010 04:10:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61264</guid><dc:creator>aris_7</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61264.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=61264</wfw:commentRss><description>Το προσπάθησα αλλά και πάλι το ίδιο.. Στην συνέχεια ενεργοποίησα στο DataSet να δέχεται Null, το πρόγραμμα το 
δέχεται αλλά μόλις κάνω update στην βάση χτυπάει το μήνυμα για οτι δεν 
δέχετε Null τιμές στο πεδίο RowGuid. Ακόμα έσβησα το παλιο DataSet και δημιούργησα νέο, χωρίς καθόλου το πεδίο RowGuid αλλά πάλι βγάζει σφάλμα κατά την αποθήκευση στην βάση. &lt;br&gt;&lt;br&gt;Από αυτά που βρήκα στο νετ για να μπει νέα εγγραφή θα πρέπει αναγκαστικά στο πεδίο RowGuid να βάλεις την τιμή NewID() ή newsequentialid(), αλλά το Studio δεν σου επιτρέπει να βάλεις τιμές String σε πεδίο τύπου Guid.&lt;br&gt;&lt;br&gt;Μηπως τελικά έχω κάνει καποιο σχεδιαστικό λάθος; Η διαδικασία που έκανα είναι να δημιουργησω μία βάση και να την κάνω Replication σε SQL Compact η οποία αποθηκεύεται στον Mobile Emulator (PDA). Στην συνέχεια από το Visual Studio έκανα new Datasource και επέλεξα το αρχείο στο οποίο αποθηκεύεται το replication της βάσης (*.sdf). Μηπως αυτός ο τρόπος δεν είναι τελικά ο σωστός; &lt;br&gt;&lt;br&gt;Δεν υπάρχει κανείς άλλος να του έχει παρουσιαστεί το ίδιο πρόβλημα; &lt;br&gt;</description></item><item><title>Απ: Προβλημα σε Smart Device Project με Merge Replication στο πεδίο RowGuid</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61220.aspx</link><pubDate>Wed, 01 Dec 2010 16:38:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61220</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61220.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=61220</wfw:commentRss><description>&lt;P&gt;Έχεις λόγο να εμφανίζεις αυτό το πεδίο στο DataGridView; Είναι μια πληροφορία που δεν ενδιαφέρει τον χρήστη... Πιστεύω αν το αφαιρέσεις δεν θα έχεις αυτά τα προβλήματα.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Προβλημα σε Smart Device Project με Merge Replication στο πεδίο RowGuid</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61216.aspx</link><pubDate>Wed, 01 Dec 2010 09:55:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61216</guid><dc:creator>aris_7</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61216.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=61216</wfw:commentRss><description>Θα ηθελα να με βοηθήσει κάποιος αν ξέρει να μου προτίνει κάποια λύση, γιατι ψάχνω παντου και δεν καταφέρνω να βρω άκρη.&lt;br&gt;&lt;br&gt;Φτιάχνω ένα Smart Device Project και θέλω να λαμβάνω Data από τον SQL Server&lt;br&gt;&lt;br&gt;Αφου κατάφερα να κάνω Merge Replication και να τρέξω την βάση τοπικά στο κινητό, έχει δημιουργηθεί ένα θέμα&lt;br&gt;&lt;br&gt;Για
 το Merge Replication ο SQL Server δημιουργεί σε κάθε πίνακα μία στήλη 
RowGuid τύπου Guid για να επαληθεύει την μοναδικότητα των δεδομένων (από
 όσο έχω καταλάβει). Η στήλη αυτή είναι Unique και δεν δέχεται Nulls.&lt;br&gt;&lt;br&gt;Το
 θέμα ειναι, ότι ενώ ο SQL Server από μονος του έχει σαν Default Value 
το (newsequentialid()), το οποίο με λίγα λόγια λέει στο σύστημα να του 
αναθέσει το ίδιο μια τιμή, όταν πάω να αποθηκεύσω την&amp;nbsp; βάση με μία νέα 
εγγραφή σε ένα DataSet σε ένα Smart Project, μου πετάει Error οτι δεν 
δέχεται Null το πεδίο RowGuid.. Ταυτόχρονα στο DataSet.xsd παρατήρησα 
οτι η Default Value του RowGuid είναι Null και δεν μπορώ να την αλλάξω 
ούτε σε (newsequentialid()) ούτε σε NewID() (οπως κάπου βρήκα στο νετ 
εναλακτικά ότι θα πρέπει να είναι) καθώς θα πρέπει να δώσω μια τιμή 
τύπου Guid (XXXX-xXXXX-XXXXXX-XXXXX καπως ετσι). &lt;br&gt;&lt;br&gt;Ακόμα, όταν πάω
 να κάνω αλλαγή σε μία εγγραφή πετάει άλλο Error οτι δεν δέχεται να 
πάρει τιμές στο RowGuid. Υποθέτω ότι απλά θα στέλνει πίσω το ιδιο 
RowGuid αλλά ο SQl θα το βλεπει σαν νέα δεδομένα&lt;br&gt;&lt;br&gt;Το DataGridView το έχω δημιουργησει αυτόματα (Drag &amp;amp; Drop) και τα Edit και AddNew με αυτόματο τρόπο (EditViewDialog).&lt;br&gt;,&lt;br&gt;Χρησιμοποιώ το Studio 2008 και τον SQL Server 2008R2, αν ειχε κανεις το ιδιο πρόβλημα κ το έλυσε ας κάνει τον κόπο να βοηθήσει&lt;br&gt;&lt;br&gt;Ευχαριστω εκ των προτέρων</description></item></channel></rss>