So zeigen varBinary-Feld-Daten
Habe ich ein Datenbank-Feld, dessen Datentyp ist vom Datentyp varBinary. Jetzt in einem gridView-ich möchte anzeigen, dass Daten. Aber ich erhalte die Ausgabe:
System.Byte[]
nicht den Wert
0x2C6D1A
ist in der Datenbank.
Bitte helfen, wie dieses problem zu lösen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
BitConverter
Klasse zu formatieren byte-array, für die Anzeige Zwecke:Wenn Sie nicht wollen, zu konvertieren direkt in eine
string
, dannBitConverter
hat eine Last von Methoden für die Umwandlung von byte-arrays, die auf verschiedene andere Arten.BEARBEITEN...
Wenn Sie verbindlich einigen Abfrage-Ergebnis direkt an die
GridView
Steuern, dann könnte es einfacher sein, zu konvertieren Sie IhreVARBINARY
Spalte zu einerVARCHAR
in der Abfrage selbst:(Hinweis: Diese Art der Konversion - von der
VARBINARY
zuVARCHAR
im'0x1234AB'
- format - funktioniert nur ordnungsgemäß in SQL Server 2008. Frühere Versionen von SQL Server nur gegossen, werden die binären Daten direkt auf den Charakter-Daten).string forDisplay = "0x" + BitConverter.ToString(yourByteArray).Replace("-", string.Empty);
Wenn es nicht etwas offensichtlich vorhanden, vielleicht nur noch loop:
Wenn das ist eine Klasse Eigenschaft, es wäre trivial zu erstellen
TypeConverter
dass diese (für die Anzeige), und markieren Sie die Eigenschaft mit[TypeConverter(typeof(HexConverter))]
: