日期:2014-05-20  浏览次数:20451 次

odbc取db2中的blob字段问题!高手们呀一定帮忙!!!!!!!!!!!!快崩溃了!!!!!!!!!
我在db2数据库中存了张照片(blob类型),插入数据正确完成,可是读数据的时候出现问题.
sql语句为:string   Sql   =   "select   "   +   "FingerprintOne   "+   "   from   InjuredFingerprintInfo   where   pdcode=? ";其中FingerprintOne   为图片字段.
读取的时候使用下列语句均出现错误
语句1:OdbcDataReader   rdr   =   DB2.ExecuteReaders(CommandType.Text,   Sql,   Parameters);
      rdr.GetBytes(0,   0,   fingerprintproperty,   0,   256   *   304);
此语句运行时出现异常:异常为不存在此行/列的数据
语句2:   OdbcDataReader   rdr   =   DB2.ExecuteReaders(CommandType.Text,   Sql,   Parameters);

      if   (rdr[ "FingerprintOne "]   !=   System.DBNull.Value)
                        {
                                fingerprintproperty   =   (byte[])rdr[ "FingerprintOne "];
                        }
出现异常同上.

fingerprintproperty   为我定义的一个byte[]用来保存取出的数据.

------解决方案--------------------
if(rdr.HasRows) { rdr.read(); 然后再取数据. }