1

OleDbDataReader rdrBLOB形式(sub_type 1セグメントサイズ80)の「コメント」フィールドをInterbase DBから文字列に読み込むために使用していますが、例外が発生し続けます。助言がありますか?

試行#1

ls_Chap_Comments.Add((rdr["Comments"]).ToString());

InvalidCastException:符号の不一致またはデータのオーバーフロー以外の理由で、データ値を変換できませんでした。たとえば、データストアでデータが破損していましたが、行は引き続き取得可能でした。」

試行#2

byte[] b = new byte[100];
b = (byte[])rdr["Comments"];
string s = System.Text.ASCIIEncoding.ASCII.GetString(b);

InvalidCastException:タイプのオブジェクトをタイプにキャストできませSystem.StringSystem.Byte[]

試行#3

// 17 is the BLOB column zero-based location for "Comments"
retval = rdr.GetBytes(17, startIndex, outbyte, 0, bufferSize);    

InvalidCastException:タイプのオブジェクトをタイプにキャストできませSystem.StringSystem.Byte[]

どんな提案でも本当にありがたいです!

4

2 に答える 2

0

あなたは電話するべきです

rdr.IsDBNull(rdr.GetOrdinal("Comments"))

値を読み取ろうとする前に。

于 2012-11-25T04:45:19.690 に答える