Frage

Ich versuche, einen Test, dass die Renditen ein Datenlesegerät mit einer der Spalten zu schreiben ein Byte sein []. Ich dachte, ich kann eine Datentabelle erstellen und einen Leser aus, dass erstellen.

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();

das Problem ist, wenn ich colValue zum datarow hinzufügen, anstatt sie als byte[] Zugabe es zu der Zeile ergänzt, wie es der String-Darstellung, die "SqlBinary(18)" ist.

meine Frage ist, wie füge ich eine tatsächliche byte[] meiner datarow

War es hilfreich?

Lösung

Nach MSDN :

  

Wenn Sie eine Datatable programmatisch erstellen, müssen Sie sich zunächst durch das Schema definieren Datacolumn Hinzufügen von Objekten zu der Datacolumncollection (über die Eigenschaft Spalten zugegriffen wird). Weitere Informationen über das Hinzufügen von Datacolumn-Objekten finden Sie Spalten zu einer Datatable Hinzufügen (ADO.NET).

Mit dem cboTable.Columns.Add("ByteArrayColumn"); schreiben, haben Sie einen Spaltennamen definiert, aber es hat eine Art nicht gegeben, so wird standardmäßig ein „string“ Spalte zu sein. Sie sollten das Beispiel in der doc folgen, um das Tabellenschema zu erstellen, bevor die Daten in der Tabelle hinzugefügt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top