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);
}