title: Specified cast is not valid, when using OleDbCommand
body: <p>How it was working with excel</p>
  
  <pre><code>decimal LTLPrice = Decimal.Parse(sheet.get_Range("H27").Value.ToString());
  decimal mathLTLPrice = Math.Round(LTLPrice, 2);
  sheet.get_Range("C29").Value = SumToTextFormatProvider.SumToText(mathLTLPrice, "Lt", "ct");
  </code></pre>
  
  <p>How it should be in my imagination with OleDb</p>
  
  <pre><code>myCommand = new OleDbCommand("SELECT * FROM [Sheet1$H27:H27]", MyConnection);
  myReader = myCommand.ExecuteReader();
  while (myReader.Read())
  {
      decimal LTLPrice = Decimal.Parse(myReader.GetString(0));
      decimal mathLTLPrice = Math.Round(LTLPrice, 2);
      myCommand = new OleDbCommand("UPDATE [Sheet1$C29:C29] SET F1='" + SumToTextFormatProvider.SumToText(mathLTLPrice, "Lt", "ct") + "'", MyConnection);
      myCommand.ExecuteNonQuery();
  }
  myReader.Close();
  </code></pre>
  
  <p>How it is </p>
  
  <pre><code>System.InvalidCastException: Specified cast is not valid.
  at System.Data.OleDb.ColumnBinding.ValueString()
  at System.Data.OleDb.OleDbDataReader.GetString(Int32 ordinal)
  at Trains.invoiceForm.invoiceGenerateXls_Click(Object sender, EventArgs e) in D:\Users\Nullified\Documents\Visual Studio 2010\Projects\Trains\Trains\invoiceForm.cs:line 592
  </code></pre>
  
  <p>Error is in this line </p>
  
  <pre><code>decimal LTLPrice = Decimal.Parse(myReader.GetString(0));
  </code></pre>
  
  <p>Ive tried GetInt32 / GetDecimal but no result. :( </p>
  
  <p>Update</p>
  
  <p>With GetDouble i get no error, but myReader returns me 0, then in excel it is "3,49"</p>