我在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[]用来保存取出的数据.
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[]用来保存取出的数据.
{
rdr.read();
然后再取数据.}
if (rdr.HasRows)
{
rdr.Read();
fingerprintproperty = (byte[])rdr["FingerprintOne"];
}
我用这个代码的时候没有出现异常但是数据取出来是不正确的(是不是我对GetBytes()方法的使用是错误的呢?)
if (rdr.HasRows)
{
//fingerprintproperty = (byte[])rdr["FingerprintOne"];
rdr.Read();
rdr.GetBytes(0, 0, fingerprintproperty, 0, 256 * 304);
}慕白兄一定要指教呀!!
代码是没有问题的.