2010-11-22 8 views
0

J'ai un customerTbl datatable et je fais un pas à travers les rangéesConvertir un tableau d'octets dans une colonne datatable en chaîne?

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

Cependant, le rendement colonne ID client octet []. Comment puis-je convertir cela en une chaîne (CustomerID)?

J'ai essayé quelque chose comme

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

mais il ne fonctionne évidemment pas

Merci à l'avance

+0

Pourquoi 'CustomerId' est-il un' byte [] 'en premier lieu? – leppie

+0

À quoi l'ID client est-il censé ressembler? Est-ce du texte? Ou juste une chose numérique? 'Convert.ToBase64String', fait comme il est dit sur le paquet: il convertit en [base64 string] (http://en.wikipedia.org/wiki/Base64). Pourquoi voulez-vous voir une chaîne? Pourquoi? –

+0

id client est texte et numérique, dans la nouvelle base de données, nous avons des identifiants appropriés, mais je dois encore expédier cela pour d'autres références. L'autre base de données accepte uniquement les chaînes dans la colonne où je veux cet ID. – Morgan

Répondre

2

Selon le codage des octets, vous aurez besoin de l'objet Encoding correct effectuer la conversion. Si l'on suppose qu'il est ASCII, vous pouvez le faire:

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

Si dans un codage différent (UTF8, UTF16, etc.), utiliser celui qui convient.

+0

Salut Jeff, avec ce que je reçois "Erreur 1 'System.Data.DataRow' ne contient pas une définition de 'Champ' et aucune méthode d'extension 'Champ' acceptant un premier argument de type 'System.Data.DataRow' pourrait être trouvé (manque-t-il une directive using ou une référence d'assembly?) " – Morgan

+0

Vous aurez besoin d'un cast alors au lieu d'utiliser la méthode d'extension' Field() '. Depuis que vous avez ajouté qu'il s'agit de C# 2.0, les méthodes d'extension ne sont pas disponibles. –

+0

Ok merci, ça marche maintenant. Désolé j'ai oublié d'ajouter 2.0 depuis le début. – Morgan

Questions connexes