【问题标题】:reader.GetSchemaTable on Oracle database does not return a DataTypeName columnOracle 数据库上的 reader.GetSchemaTable 不返回 DataTypeName 列
【发布时间】:2011-09-04 17:01:39
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql database oracle types getschematable


    【解决方案1】:

    你使用的是哪个阅读器,OracleDataReader.GetSchemaTable Method 应该可以满足你的需求

    【讨论】:

    • 必须使用 DbDataReader。
    【解决方案2】:

    使用 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;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2010-10-06
      相关资源
      最近更新 更多