テーブルを実行する = reader.GetSchemaTable(); SQL Server 2005 では、select ステートメントのデータ型を調べるために列 DataTypeName が返されます。
Oracleサーバーで同じコードを実行すると、DataTypeName列が返されません。
select column1 from tablename ステートメントを使用して column1 フィールドのデータ型名を取得するにはどうすればよいでしょうか。
テーブルを実行する = reader.GetSchemaTable(); SQL Server 2005 では、select ステートメントのデータ型を調べるために列 DataTypeName が返されます。
Oracleサーバーで同じコードを実行すると、DataTypeName列が返されません。
select column1 from tablename ステートメントを使用して column1 フィールドのデータ型名を取得するにはどうすればよいでしょうか。
さて、あなたはどのリーダーを使用していますか、あなたが望むものを与えるべきOracleDataReader.GetSchemaTable
方法があります
Oracleを使用する場合、DbDataReader.GetSchemaTableは機能しません。
OracleDataReader.GetSchemaTableを使用できます。
もう1つのオプションは、次のようにDbDataReaderフィールドを反復処理することです。
public bool Test(DbDataReader _dr, string columnName)
{
for (int i = 0; i <= _dr.FieldCount - 1; i++)
{
if ((_dr.GetName(i).Equals(columnName, StringComparison.InvariantCultureIgnoreCase)))
{
//Change this to your needs
_dr.GetDataTypeName(i);
return true;
}
}
return false;
}