1

列の 1 つがバイト [] であるデータ リーダーを返すテストを作成しようとしています。データテーブルを作成し、そこからリーダーを作成できると考えました。

var cboTable = new DataTable("CBOTable");
var colValue = new SqlBinary(ASCII.GetBytes("Hello This is test"));

cboTable.Columns.Add("ByteArrayColumn");
cboTable.Rows.Add(colValue);

var reader= cboTable.CreateDataReader();

問題は、データ行に追加colValueするのではなく、データbyte[]行に追加すると、文字列表現であるとして行に追加されることです"SqlBinary(18)"

私の質問は、データ行に実際の値を追加する方法byte[]です

4

1 に答える 1

1

MSDNによると:

プログラムで DataTable を作成する場合は、最初に DataColumn オブジェクトを DataColumnCollection (Columns プロパティを介してアクセス) に追加して、そのスキーマを定義する必要があります。DataColumn オブジェクトの追加の詳細については、「DataTable への列の追加 (ADO.NET)」を参照してください。

を記述cboTable.Columns.Add("ByteArrayColumn");することで、列名を定義しましたが、型を指定していないため、デフォルトで「文字列」列になります。テーブルにデータを追加する前にテーブル スキーマを作成するには、ドキュメントの例に従う必要があります。

于 2010-08-04T22:32:24.083 に答える