<?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>Απ: update πίνακα με δεκαδικές τιμές</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62976.aspx</link><pubDate>Thu, 03 Feb 2011 18:22:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62976</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62976.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62976</wfw:commentRss><description>Ψάχνεις για λάθος πράγμα.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Σε όλες τις βάσεις, όταν βάζεις μία τιμή σε ' ' θεωρείται ότι είναι varchar. Αν θέλεις να δώσεις αριθμό απλά δώσε τον χωρίς '', π.χ. 1.0 . Επιπλέον, το ',' ισχύει ως δεκαδικό μόνο στα ελληνικά. Όταν προσπαθείς να περάσεις τιμή varchar σε πεδίο decimal ο SQL Server θα προσπαθήσει να κάνει τη μετατροπή χρησιμοποιώντας το locale της βάσης. Αν αυτό δεν είναι ελληνικό, θα πάρεις σφάλμα. Γι αυτό δεν πρέπει ΠΟΤΕ να περνάς varchar τιμές όταν στην πραγματικότητα θέλεις να περάσεις decimal, date ή κάποιο άλλο τύπο.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Υποψιάζομαι ότι το statement δημιουργήθηκε από concatenation όπου προσπαθείς να περάσεις τιμές που έδωσε ο χρήστης. Το concatenation έχει μεγάλα προβλήματα ασφάλειας, performance και όπως βλέπεις, localization. Αντί γι αυτό χρησιμοποίησε query parameters για να περάσεις τις τιμές με το σωστό τύπο χωρίς ζητήματα μετατροπής.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Η συζήτηση αυτή έχει εμφανιστεί τόσο συχνά στο DNZ που έχουμε και post ειδικά γι αυτό "&lt;a href="http://www.dotnetzone.gr/cs/blogs/pkanavos/archive/2007/01/18/23726.aspx"&gt;O SQL Server δεν χρειάζεται κόλπα για να υποστηρίξει ελληνικά&lt;/a&gt;".&amp;nbsp;&lt;/div&gt;</description></item><item><title>update πίνακα με δεκαδικές τιμές</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62974.aspx</link><pubDate>Thu, 03 Feb 2011 11:16:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62974</guid><dc:creator>Q-apprentice</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62974.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62974</wfw:commentRss><description>Καλησπέρα παιδιά...μια ερώτηση, αν είναι εύκολο...θέλω να κάνω update σε ένα πίνακα σε SQL Server 2008 R2 του οποίου τα πεδία είναι data type decimal(18,2). ένα απλό query (το γράφω μικρό εδώ για να μην ζαλήσω κόσμο) είναι το εξής:&lt;br&gt;&lt;br&gt;UPDATE &lt;br&gt;[Table] &lt;br&gt;SET &lt;br&gt;ColumnA= '1,00'&lt;br&gt;WHERE &lt;br&gt;ColumnB = '0000001794'&lt;br&gt;&lt;br&gt;το πρόβλημα είναι ότι ο SQL Server μου εμφανίζει το ακόλουθο λάθος:&lt;br&gt;&lt;br&gt;Msg 8114, Level 16, State 5, Line 1&lt;br&gt;Error converting data type varchar to numeric.&lt;br&gt;&lt;br&gt;&lt;br&gt;ποια είναι η σωστή σύνταξη του sql statement, ώστε να δεχθεί insert/update με δεκαδικές τιμές ;&lt;br&gt;το googl-άρα αλλά δεν κατέληξα πουθενά....&lt;br&gt;&lt;br&gt;ευχαριστώ εκ των προτέρων..&lt;br&gt;</description></item></channel></rss>