0

做一个表 = reader.GetSchemaTable(); 在 sql server 2005 上,我返回一列 DataTypeName 以找出我的 select 语句的数据类型。

在 oracle 服务器上执行相同的代码会返回 NO DataTypeName 列。

然后如何使用 select column1 from tablename 语句获取 column1 字段的数据类型名称?

4

2 回答 2

0

好吧,您使用的是哪个阅读器,有一种OracleDataReader.GetSchemaTable 方法应该可以提供您想要的

于 2011-05-30T11:23:11.463 回答
0

使用 Oracle 时,DbDataReader.GetSchemaTable 不起作用。

您可以使用 OracleDataReader.GetSchemaTable。

另一种选择是遍历 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 回答