2010-11-22 3 views
0

Ich habe eine Datentabelle customerTbl und ich trete durch die ReihenKonvertieren Sie ein Byte-Array in einer Datentabelle Spalte in Zeichenfolge?

foreach (DataRow row in customerTbl.Rows) 
{ 
     string CustomerID = row["Customer ID"].ToString(); 
} 

die Spalte Kundennummer kehrt [] Allerdings Byte. Wie kann ich dies in eine Zeichenfolge (CustomerID) konvertieren?

habe ich versucht, so etwas wie

string CustomerID = Convert.ToBase64String(row["Customer ID"]); 

aber es funktioniert offensichtlich nicht

Vielen Dank im Voraus

+0

Warum ist 'CustomerId' ein' byte [] 'an erster Stelle? – leppie

+0

Wie soll die Kunden-ID aussehen? Ist es Text? Oder nur eine numerische Sache? 'Convert.ToBase64String', tut es so, wie es auf dem Paket steht: es konvertiert in eine [base64 string] (http://en.wikipedia.org/wiki/Base64). Warum willst du eine Schnur sehen? Wozu? –

+0

Kunden-ID ist Text und numerisch, in der neuen Datenbank haben wir richtige IDs, aber ich muss dies noch für eine andere Referenz liefern. Die andere Datenbank akzeptiert nur Zeichenfolgen in der Spalte, in der ich diese ID haben möchte. – Morgan

Antwort

2

Je nach Kodierung des Bytes, müssen Sie das richtige Objekt Encoding Führen Sie die Konvertierung durch. Unter der Annahme, es ASCII ist, können Sie dies tun:

string customerID = Encoding.ASCII.GetString((byte[])row["Customer ID"]); 

Wenn in einer anderen Kodierung (UTF8, UTF16, etc.), verwenden Sie die entsprechenden ein.

+0

Hallo Jeff, damit bekomme ich "Error 1 'System.Data.DataRow' enthält keine Definition für 'Field' und es konnte keine Erweiterungsmethode 'Field' gefunden werden, die ein erstes Argument vom Typ 'System.Data.DataRow' akzeptiert (Fehlt dir eine using-Direktive oder eine Assembly-Referenz?) " – Morgan

+0

Du brauchst dann einen Cast, anstatt die' Field() 'Extension-Methode zu verwenden. Da Sie hinzugefügt haben, dass es C# 2.0 ist, sind Erweiterungsmethoden nicht verfügbar. –

+0

Ok danke, es funktioniert jetzt. Leider habe ich vergessen, 2.0 von Anfang an hinzuzufügen. – Morgan

Verwandte Themen