<?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>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32120.aspx</link><pubDate>Wed, 23 May 2007 18:59:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32120</guid><dc:creator>deykas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32120.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=32120</wfw:commentRss><description>Ευχαριστώ όλους για τις απαντήσεις. Δοκιμάζω και για ό,τι πρόβλημα επανέρχομαι...&lt;br&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32047.aspx</link><pubDate>Mon, 21 May 2007 21:15:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32047</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32047.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=32047</wfw:commentRss><description>&lt;P&gt;Αν χρησιμοποιούσες "local format" (υποθέτω ότι εννοείς ότι ο χρήστης έχει ελληνικά locale settings) δεν θα είχες κανένα πρόβλημα. Το θέμα των ημερομηνιών το έχουμε συζήτήσει άπειρες φορές, σε σημείο που έκατσα και έγραψα όλες τις απαντήσεις σε ένα blog post, στο "&lt;A href="http://www.dotnetzone.gr/cs/blogs/pkanavos/archive/2007/01/18/23726.aspx"&gt;Ο SQL Server ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ κόλπα για να υποστηρίξει ελληνικά&lt;/A&gt;". Πρώτον, ο SQL Server αποθηκεύει σωστά τις ημερομηνίες, αν φυσικά δεν τις στείλεις σαν χύμα κείμενο. Stored procedures ή parameterized queries δεν έχουν πρόβλημα. Αν χρησιμοποιείς χύμα SQL, θα πρέπει να περάσεις την ημερομηνία στη μορφή yyyyMMdd ή&lt;/P&gt;
&lt;P&gt;Το .NET Framework το ίδιο χρησιμοποιεί πάντα το locale του συστήματος για να κάνει τη σωστή μετατροπή της ημερομηνίας. Μόνο σημείο στο οποίο χρειάζεται προσοχή είναι όταν ο χρήστης έχει αγγλικές ρυθμίσεις locale αλλά δώσει την ημερομηνία σε ελληνικό format. Γι αυτό καλύτερα να χρησιμοποιείς DateTimePicker control αντί για απλό Textbox.&lt;/P&gt;
&lt;P&gt;Επίσης&amp;nbsp;γιατί χρησιμοποιείς γαλλικό locale αντί για ελληνικό? Εκτός και αν ο χρήστης είναι γάλλος, το ελληνικό locale κάνει σωστά τη δουλειά. &lt;/P&gt;
&lt;P&gt;Να τελειώσω με τη στάνταρ απάντηση σε ερωτήσεις ημερομηνίας και αριθμών. Τα προβλήματα οφείλονται σχεδόν πάντα στο κάποιος δεν κατάλαβε ότι το Framework και ο SQL καταλαβαίνουν από ημερομηνίες, και προσπάθησε να επιβάλει τη μετατροπή είτε ενσυνείδητα (προσπαθώντας να γράψει την ημερομηνία με ένα συγκεκριμένο τρόπο) είτε ασυνείδητα (μετατρέποντας μία ημερομηνία σε κείμενο ή το αντιστροφο). Αν χρησιμοποιείς DateTimePicker control και αποθηκεύεις στη βάση με stored procedures ή parameterize queries δεν θα έχεις ποτέ πρόβλημα.&lt;/P&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32046.aspx</link><pubDate>Mon, 21 May 2007 21:15:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32046</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32046.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=32046</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;deykas:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Ο SQL server δεν το αναγνώριζε. Τελικά, όπως έγραψε και πριν, έκανα το παρακάτω και είναι οκ:&lt;br&gt;
dim culture as cultureinfo=new cultureinfo("fr-FR",true)&lt;br&gt;
και η ημερομηνία ως: Datetime.parse(textvalue,culture,DatetimeStyles.NocurrentDateDefault)&lt;br&gt;
&lt;br&gt;
ευχαριστώ.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Η λύση αυτή δεν είναι η ενδεδειγμένη. Απλά δουλεύει στο τρέχον περιβάλλον που έχεις. Η λύση του split θα ήταν πιο σωστή, αλλά και αυτή θα ήταν περιττή, μια που αν ακολουθήσεις τα best practices δε χρειάζεται.&lt;/p&gt;&lt;p&gt;Το "Ο SQL Server δεν το αναγνώριζε" δεν είναι αρκετό. Πρέπει να πεις το συγκεκριμένο σφάλμα. Αν οι πελάτες-χρήστες που έχεις σου αναφέρουν με αυτό τον τρόπο τα προβλήματα που αντιμετωπίζουν (π.χ. πατάω save και δεν αποθηκεύει) δεν θα μπορείς να βγάλεις άκρη. Με τον ίδιο τρόπο κανείς εδώ δεν μπορεί να καταλάβει πιο ήταν το πρόβλημα που είχες με τον SQL Server.&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32028.aspx</link><pubDate>Mon, 21 May 2007 18:29:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32028</guid><dc:creator>Δημήτρης Γκανάτσιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32028.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=32028</wfw:commentRss><description>&lt;P&gt;γιατί δεν κάνεις το εξής: πρώτα να κάνεις parse το content του TextBox (προφανώς με String.Split), μετά να&amp;nbsp;φτιάξεις ένα DateTime Object περνώντας στον constructor του day,month,year, και μετά να το στείλεις στη βάση. Γενικά, δεν είναι καλή τακτική να αλλάζεις το CultureInfo 'έτσι'. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ΥΓ. btw, γιατί δεν χρησιμοποιείς datetimepicker; θα σε γλιτώσει από το parsing/έλεγχο δεδομένων του textbox. &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P&gt;ΥΓ2. Αν όντως θες textbox για κάποιο λόγο (και ανα γράφεις για .ΝΕΤ 2) για ρίξε μια ματιά και στο MaskedTextBox....&lt;/P&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32025.aspx</link><pubDate>Mon, 21 May 2007 18:19:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32025</guid><dc:creator>deykas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32025.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=32025</wfw:commentRss><description>Ο SQL server δεν το αναγνώριζε. Τελικά, όπως έγραψε και πριν, έκανα το παρακάτω και είναι οκ:&lt;br&gt;
dim culture as cultureinfo=new cultureinfo("fr-FR",true)&lt;br&gt;
και η ημερομηνία ως: Datetime.parse(textvalue,culture,DatetimeStyles.NocurrentDateDefault)&lt;br&gt;
&lt;br&gt;
ευχαριστώ.&lt;br&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/31999.aspx</link><pubDate>Mon, 21 May 2007 02:34:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:31999</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/31999.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=31999</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;deykas:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Γίνεται; Δοκιμάζω το DateTime.Parse("19/5/2007") aλλά δεν το αναγνωρίζει ως έγκυρο φορματ.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Τι εννοείς "δεν το αναγνωρίζει"; Ποιος εννοείς; Το .NET runtime ή ο SQL Server; Τι ακριβώς λέει το exception που παίρνεις; Πως ακριβώς γράφεις τον κώδικα για την αποθήκευση; Αν μπορείς δώσε λίγο κώδικα, αν γίνεται το πολύ 10 γραμμές.&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/31998.aspx</link><pubDate>Mon, 21 May 2007 00:57:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:31998</guid><dc:creator>deykas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/31998.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=31998</wfw:commentRss><description>Έχεις δίκιο σ'αυτό που λες, απλά επειδή παίρνω την ημερομηνία από textbox με τη μορφή dd/MM/yyy, πρέπει να κάνω κάτι για να αποθηκευτεί σωστά. Τέλος πάντων, αυτό που έκανα και λειτύργησε είναι:&lt;br&gt;&lt;br&gt;dim culture as cultureinfo=new cultureinfo("fr-FR",true)&lt;br&gt;και η ημερομηνία ως: Datetime.parse(textvalue,culture,DatetimeStyles.NocurrentDateDefault)&lt;br&gt;&lt;br&gt;Μπορεί να είναι περιττό, αλλά δούλεψε εντάξει.&lt;br&gt;ευχαριστώ&lt;br&gt;</description></item><item><title>Απ: Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/31988.aspx</link><pubDate>Sun, 20 May 2007 19:34:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:31988</guid><dc:creator>agmarios</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/31988.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=31988</wfw:commentRss><description>&amp;nbsp;μα δεν χρειάζεται να ασχοληθείς με το format του sql server. Δεν σε ενδιαφέρει ούτε πώς τις αποθηκεύει ούτε πώς τις συγκρίνει. Δεν σου φτάνει να κάνει τη σύγκριση σωστά;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Αποθήκευση Ημερ/νίας dd/MM/yyyy σε SQL server 2000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/31984.aspx</link><pubDate>Sun, 20 May 2007 06:48:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:31984</guid><dc:creator>deykas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/31984.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=31984</wfw:commentRss><description>Συνάδελφοι καλησπέρα.&lt;br&gt;Έχω σε text box π.χ. την ημερομηνία 19/5/2007 (δηλ. local format) και θέλω όπως ακριβώς είναι να την αποθηκεύσω στον SQL Server 2000 και όχι ως 5/19/2007, ώστε να μπορώ να κάνω και αναζήτηση με το ίδιο format. &lt;br&gt;Γίνεται; Δοκιμάζω το DateTime.Parse("19/5/2007") aλλά δεν το αναγνωρίζει ως έγκυρο φορματ.&lt;br&gt;Κάποια ιδέα;&lt;br&gt;</description></item></channel></rss>