0

テーブルを実行する = reader.GetSchemaTable(); SQL Server 2005 では、select ステートメントのデータ型を調べるために列 DataTypeName が返されます。

Oracleサーバーで同じコードを実行すると、DataTypeName列が返されません。

select column1 from tablename ステートメントを使用して column1 フィールドのデータ型名を取得するにはどうすればよいでしょうか。

4

2 に答える 2

0

さて、あなたはどのリーダーを使用していますか、あなたが望むものを与えるべきOracleDataReader.GetSchemaTable 方法があります

于 2011-05-30T11:23:11.463 に答える
0

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;
    }
于 2012-05-02T16:35:58.240 に答える