1

OLESQL サーバーからデータを読み取るアプリに取り組んでいます。現在、データを読み取って文字列に挿入しています。myReader.GetString(index) を使用できる DBTYPE_WVARCHAR に遭遇するたびに、いくつかの読み取りを行いましたが、それが発生するとクラッシュします。ここに私がこれまで持っているコードがあります。

OleDbDataReader myReader = myCommand.ExecuteReader();

while (myReader.Read())
{
    int i =0;
    string FullRow = "";
    for(i=0;i<myReader.FieldCount;i++)
    {
         string type=myReader.GetDataTypeName(i);

         if ("DBTYPE_I4" == type)
         {
              FullRow += myReader.GetInt32(i);
         }
         else if ("Date" == type || "DBDate" == type || "DBTimeStamp" == type)
         {
              FullRow += myReader.GetDateTime(i).ToString();
         }
         else if("Char" == type || "LongVarChar" == type || "LongVarWChar" == type || "VarWChar" == type || "WChar" == type ){
              FullRow += myReader.GetString(i);
          }
         else if ("DBTYPE_WVARCHAR" == type)
          {
             FullRow += myReader.GetString(i); //Crash when this line gets hit
          }
          else
          {
                FullRow=FullRow;
          }
    }
    FullRow+=", ";
    Console.Write(FullRow);
}
4

1 に答える 1