【问题标题】:idatareader problemidatareader 问题
【发布时间】:2009-05-21 08:21:13
【问题描述】:

为什么我的 idatareader 出错.....?

 byteSize = _reader.GetBytes(_reader.GetOrdinal(sFieldName), 0, null, 0, 0);

我想从这里的数据库中检索图像 sFieldName 是数据库列名称......它告诉我 指定的转换无效。 消息...... ..我在做什么?在 c# window vs05 上工作....

sFieldName 是一个字符串......它是数据库的列名,列类型是image 我的数据库列名称是“BoardImage”

sFieldName="BoardImage"

 oBoardDetail.BoardImage =oReader.GetImage("BoardImage");

这里oBoardDetail是一个类对象,BoardImage是一个类属性类型Image

【问题讨论】:

  • 好吧,首先,该字段是什么类型的
  • 如果您没有其他方法可以调试,请尝试打印 _reader.GetFieldType(_reader.GetOrdinal(sFieldName)),这将为您提供与列类型对应的 Type 对象。然后,您可以将 GetBytes 更正为适当的方法。
  • 请停止一遍又一遍地问同一个问题,Shamin。如果您没有得到想要的答案,请使用更多信息更新您的原始问题。

标签: idatareader


【解决方案1】:

很可能,sFieldname 列不是 Image 或 VarBinary 列。

请更新数据库系统、表结构、select语句等缺失的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多