title: DataReader GetInt32() & GetInt16()
body: <p>I am trying to read a <code>smallint</code> column value using SqlDataReader.</p>
  
  <p>The <code>dataReader.GetInt32()</code> is throwing exception as "The specified cast is not valid."</p>
  
  <p>But</p>
  
  <blockquote>
    <p>dataReader.GetInt16()</p>
  </blockquote>
  
  <p>is working fine too.</p>
  
  <p>Can you someone explain why the GetInt32() fails provided Int16 can be assigned to Int32 as here</p>
  
  <pre><code> Int16 i16 = 1;
   Int32 i32 = i16;
  </code></pre>