【问题标题】:Can't assign Char variable from DataReader object (ADO.Net)无法从 DataReader 对象 (ADO.Net) 分配 Char 变量
【发布时间】:2018-12-15 06:49:01
【问题描述】:

我创建了一个使用 ADO.Net 的数据访问方法,但我很难分配我的值之一。我的读者有 3 个对象、2 个字符串和 1 个字符。问题是当我尝试在下面的代码中将 char 分配给我的 char 变量 cobType 时。

using (IDataReader reader = ExecuteReader(cmd, transaction, false))
        {
            if (reader.Read())
            {
                productType = reader.GetString(reader.GetOrdinal("Product_Type"));
                cobType = reader.GetChar(reader.GetOrdinal("COB_Type"));
                payNonparProviders = reader.GetString(reader.GetOrdinal("Pay_Nonpar_Providers"));
                return;
            }
        }

当我尝试使用上述内容时,出现运行时错误:

"Specified method is not supported."

intellisense 建议使用 GetChar 方法,但它似乎不起作用。我也尝试使用 GetString 方法,但无法将结果转换为 char 变量。

【问题讨论】:

  • IDataReaer 有什么类型?是SqlDataReader吗?一些自定义阅读器?
  • 它是 System.Data.Common 中 DbCommand 类的 DbDataReader
  • 您使用的是 Sql Server 数据库吗? @SergeyBerezovskiy 向您询问有关 SqlDataReader 的问题,因为 Sql Server Sql.Data.Client 命名空间中没有 GetChar 的实现。在此处查看备注msdn.microsoft.com/en-us/library/…
  • 我能够在您的其他链接中使用该解决方案,即使用 GetString 并索引结果以便将其分配给我的 char 变量,谢谢 :)

标签: c# .net ado.net


【解决方案1】:

似乎不支持GetChar。相反,我使用的是GetString(ordinal).ToCharArray()[0];

【讨论】:

    猜你喜欢
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多