<?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>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38998.aspx</link><pubDate>Wed, 09 Jan 2008 23:21:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38998</guid><dc:creator>Adamantios</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38998.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38998</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;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;
&lt;p&gt;Ρίξε μία ματιά στο documentation της Using, γιατί φτιάχτηκε ακριβώς για τέτοιες περιπτώσεις. &lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Ναι, το έκανα και έχεις δίκιο:&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;br&gt;A Using block behaves like a Try...Finally construction in which the Try block uses the resources and the Finally block disposes of them. Because of this, the Using block guarantees disposal of the resources, no matter how you exit the block. This is true even in the case of an unhandled exception, except for a StackOverflowException.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38989.aspx</link><pubDate>Wed, 09 Jan 2008 22:29:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38989</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38989.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38989</wfw:commentRss><description>&lt;P&gt;Αυτά που γράφεις αναλαμβάνει να τα κάνει το Using statement. Στο End Using καλεί αυτόματα την Dispose μέθοδο της μεταβλητής που ορίστηκε με Using, ακόμα και αν υπάρχει Exception. Η Dispose του SqlDataReader και του SqlConnection καλεί την Close. &lt;/P&gt;
&lt;P&gt;Ρίξε μία ματιά στο documentation της Using, γιατί φτιάχτηκε ακριβώς για τέτοιες περιπτώσεις. &lt;/P&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38974.aspx</link><pubDate>Wed, 09 Jan 2008 18:41:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38974</guid><dc:creator>Adamantios</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38974.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38974</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;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Εφόσον δεν χρησιμοποιείς το DataReader για κάτι άλλο, μπορείς να μεταφέρεις τη δήλωση του ακριβώς στο σημείο που τον χρησιμοποιείς. Μπορείς επιπλέον να χρησιμοποιήσεις το Using statement για να εξασφαλίσεις ότι ο DataReader θα κλείνει πάντα, ακόμα και αν υπάρχει exception. Το ίδιο μπορείς να κάνεις και για το connection:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:normal;font-size:11px;color:black;font-family:Courier New;background-color:transparent;"&gt;cmd &lt;span style="font-weight:normal;font-size:11px;color:red;font-family:Courier New;background-color:transparent;"&gt;=&lt;/span&gt; &lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;New&lt;/span&gt; SqlClient.SqlCommand&lt;br&gt;cmd.CommandText &lt;span style="font-weight:normal;font-size:11px;color:red;font-family:Courier New;background-color:transparent;"&gt;=&lt;/span&gt; &lt;span style="font-weight:normal;font-size:11px;font-family:Courier New;"&gt;"SP_Categories"&lt;/span&gt;&lt;br&gt;cmd.CommandType &lt;span style="font-weight:normal;font-size:11px;color:red;font-family:Courier New;background-color:transparent;"&gt;=&lt;/span&gt; CommandType.StoredProcedure&lt;br&gt;&lt;br&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;Try&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using Con &lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;As&lt;/span&gt;&amp;nbsp; &lt;span style="font-weight:normal;font-size:11px;color:red;font-family:Courier New;background-color:transparent;"&gt;=&lt;/span&gt; &lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;New&lt;/span&gt; SqlConnection(connectionString) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Connection &lt;span style="font-weight:normal;font-size:11px;color:red;font-family:Courier New;background-color:transparent;"&gt;=&lt;/span&gt; Con&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using myReader &lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;As&lt;/span&gt; SqlDataReader=cmd.ExecuteReader()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;br&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/span&gt; Using&lt;br&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/span&gt; Using&lt;br&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;Catch&lt;/span&gt; ex &lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;As&lt;/span&gt; Exception&lt;br&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox&lt;/span&gt;(ex.Message, MsgBoxStyle.Critical)&lt;br&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;End&lt;/span&gt; &lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:normal;font-size:11px;color:black;font-family:Courier New;background-color:transparent;"&gt;&lt;span style="font-weight:normal;font-size:11px;color:blue;font-family:Courier New;background-color:transparent;"&gt;&lt;font color="#000000" face="Tahoma" size="2"&gt;Γενικά, είναι πολύ καλή πρακτική να δηλώνεις μία μεταβλητή όσο πιο κοντά γίνεται στο σημείο όπου θα χρησιμοποιηθεί, ακριβώς για να αποφύγεις προβλήματα σαν αυτό που αντιμετώπισες. Άλλη καλή τακτική είναι να θέτεις τιμή στην μεταβλητή στην ίδια γραμμή όπου κάνεις τον ορισμό. Έτσι εξασφαλίζεις ότι η μεταβλητή σου θα φαίνεται μόνο μέσα στο block που χρησιμοποιείται.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;Αν ο κώδικας χτυπήσει στο
SqlDataReader=cmd.ExecuteReader() τότε θα πάει και θα εκτελεστεί το catch. Θα&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;έχει&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;κλείσει&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;όμως το&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; Connection? &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;Εγώ&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;συνήθως&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;το&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;γράφω&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;ως&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;εξής&lt;/span&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;:&lt;br&gt;&lt;br&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;Dim&lt;/span&gt; MyConnection &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; System.Data.SqlClient.SqlConnection &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;Nothing&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;Dim&lt;/span&gt; MyTransaction &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; System.Data.SqlClient.SqlTransaction &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;Nothing&lt;/span&gt;&lt;br&gt;dim i as integer&lt;br&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Try&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyConnection &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;New&lt;/span&gt; System.Data.SqlClient.SqlConnection(Declarations.strConn)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyConnection.Open()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyTransaction &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MyConnection.BeginTransaction(System.Data.IsolationLevel.Serializable)&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim&lt;/span&gt; strSQL &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;string&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="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"μπλα μπλα"&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using MyCommand &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; System.Data.SqlClient.SqlCommand(strSQL, MyConnection, MyTransaction)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyCommand.CommandType &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Data.CommandType.Text&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyCommand.Parameters.AddWithValue(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@μπλαμπλα"&lt;/span&gt;, value)&lt;br&gt;                &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i &lt;span style="color:Blue;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;&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; MyCommand.ExecuteNonQuery&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/span&gt; Using&lt;br&gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/span&gt; i  &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &amp;lt;value&amp;gt; &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:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;do&lt;/span&gt; something&amp;gt;&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; Exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Μπλα μπλα&amp;gt;&lt;br&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Finally&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/span&gt; &amp;lt;κάποια συνθήκη&amp;gt; &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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyTransaction.Rollback()&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyTransaction.Commit()&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/span&gt; MyConnection IsNot &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Nothing&lt;/span&gt; &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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyConnection.Close()&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;Try&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin-bottom:12pt;"&gt;Έτσι&lt;span&gt; &lt;/span&gt;βάζοντας&lt;span&gt; &lt;/span&gt;το&lt;span&gt;&lt;br&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;If&lt;/span&gt; MyConnection IsNot &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Nothing&lt;/span&gt; &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;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyConnection.Close()&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;/span&gt;&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;στο&lt;span&gt; finally &lt;/span&gt;εξασφαλίζω&lt;span&gt; &lt;/span&gt;ότι&lt;span&gt;
&lt;/span&gt;θα&lt;span&gt; &lt;/span&gt;κλείσει&lt;span&gt; &lt;/span&gt;το&lt;span&gt; connection. &lt;/span&gt;Είναι πλεονασμός αυτός;&lt;/p&gt;Διαμάντης&lt;br&gt;&lt;p class="MsoNormal" style="margin-bottom:12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;u1:p&gt;&lt;/u1:p&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38969.aspx</link><pubDate>Wed, 09 Jan 2008 16:49:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38969</guid><dc:creator>thanosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38969.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38969</wfw:commentRss><description>Ευχαριστώ. Επιτέλους δεν έχω το ενοχλητικό μήνυμα &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;br&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38964.aspx</link><pubDate>Wed, 09 Jan 2008 07:16:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38964</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38964.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38964</wfw:commentRss><description>&lt;P&gt;Εφόσον δεν χρησιμοποιείς το DataReader για κάτι άλλο, μπορείς να μεταφέρεις τη δήλωση του ακριβώς στο σημείο που τον χρησιμοποιείς. Μπορείς επιπλέον να χρησιμοποιήσεις το Using statement για να εξασφαλίσεις ότι ο DataReader θα κλείνει πάντα, ακόμα και αν υπάρχει exception. Το ίδιο μπορείς να κάνεις και για το connection:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;cmd &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;New&lt;/SPAN&gt; SqlClient.SqlCommand&lt;BR&gt;cmd.CommandText &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"SP_Categories"&lt;/SPAN&gt;&lt;BR&gt;cmd.CommandType &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; CommandType.StoredProcedure&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Try&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using Con &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;As&lt;/SPAN&gt; SqlConnection &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;New&lt;/SPAN&gt; SqlConnection(connectionString) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Connection &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; Con&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using myReader &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;As&lt;/SPAN&gt; SqlDataReader=cmd.ExecuteReader()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/SPAN&gt; Using&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/SPAN&gt; Using&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Catch&lt;/SPAN&gt; ex &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;As&lt;/SPAN&gt; Exception&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox&lt;/SPAN&gt;(ex.Message, MsgBoxStyle.Critical)&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;End&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Try&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Γενικά, είναι πολύ καλή πρακτική να δηλώνεις μία μεταβλητή όσο πιο κοντά γίνεται στο σημείο όπου θα χρησιμοποιηθεί, ακριβώς για να αποφύγεις προβλήματα σαν αυτό που αντιμετώπισες. Άλλη καλή τακτική είναι να θέτεις τιμή στην μεταβλητή στην ίδια γραμμή όπου κάνεις τον ορισμό. Έτσι εξασφαλίζεις ότι η μεταβλητή σου θα φαίνεται μόνο μέσα στο block που χρησιμοποιείται.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38963.aspx</link><pubDate>Wed, 09 Jan 2008 05:11:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38963</guid><dc:creator>Δημήτρης Γκανάτσιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38963.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38963</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;dt008:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; Δοκίμασε να τον κλείσεις αφού καλέσεις την ExecuteReader.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Δεν το έγραψα τελείως καλά εδώ, εννοούσα βγάλε τον έλεγχο από κει που τον έχεις (αυτά που έχεις μαρκάρει με κόκκινο) και βάλτα μετά την ExecuteReader.&lt;/P&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38962.aspx</link><pubDate>Wed, 09 Jan 2008 03:59:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38962</guid><dc:creator>thanosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38962.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38962</wfw:commentRss><description>Το κλείνω αφού καλέσω την ExecuteReader.&lt;br&gt;Απλά δεν ξέρω αν πρέπει να δηλώσω, και τι, κάτι στην εκκίνηση της εφαρμογής π.χ. ώστε να μην μου πετάει το error την πρώτη φορά.&lt;br&gt;</description></item><item><title>Απ: Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38961.aspx</link><pubDate>Wed, 09 Jan 2008 03:16:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38961</guid><dc:creator>Δημήτρης Γκανάτσιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38961.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38961</wfw:commentRss><description>Δηλώνεις τον myReader, χωρίς να του δώσεις reference κάπου, και μετά καλείς το property IsClosed του. Αυτό λογικά θα σου φέρει null reference, καθώς το myReader δεν "δείχνει" κάπου. Δοκίμασε να τον κλείσεις αφού καλέσεις την ExecuteReader.</description></item><item><title>Object reference not set to an instance of an object.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38960.aspx</link><pubDate>Wed, 09 Jan 2008 03:11:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38960</guid><dc:creator>thanosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38960.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=38960</wfw:commentRss><description>Καλησπέρα παιδιά.&lt;br&gt;&lt;br&gt;Έχω το εξής πρόβλημα. Έχω φτιάξει μια εφαρμογή που κοιτάει μια βάση δεδομένων SQL και καλώ κάποιες store procedures.&lt;br&gt;Το πρόβλημα είναι ότι όταν καλέσω μια οποιαδήποτε store procedure για πρώτη φορά πέρνω το παραπάνω error message.  &lt;font color="#0000ff"&gt;&lt;font color="#000000"&gt;Όταν ξανακαλέσω μια store procedure αργότερα δεν έχω κάποιο error.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;Ο κώδικος που έχω είναι ο παρακάτω.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;cmd = New SqlClient.SqlCommand&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.CommandText = "SP_Categories"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.CommandType = CommandType.StoredProcedure&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Connection = Con&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#ff0000"&gt;Try&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#ff0000"&gt;If myReader.IsClosed = False Then&lt;br&gt;&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;&amp;nbsp;&amp;nbsp; myReader.Close()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message, MsgBoxStyle.Critical)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Con.State = ConnectionState.Closed Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Con.Open()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message, MsgBoxStyle.Critical)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;br&gt;&lt;br&gt;&lt;font color="#000000"&gt;Το myreader είναι δηλωμένο ως εξής&lt;br&gt;Public myReader As SqlDataReader&lt;br&gt;&lt;br&gt;&lt;br&gt;Μπορείτε να μου πείτε τι πρέπει να κάνω για να μην έχω το error?&lt;br&gt;&lt;br&gt;Ευχαριστώ&lt;br&gt;&lt;/font&gt;&lt;/font&gt;</description></item></channel></rss>