2010-11-22 13 views
0

Iただし、カラム顧客ID戻り、[]バイトデータテーブルcustomerTblを有し、I行データテーブルの列のバイト配列を文字列に変換しますか?

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

を通してステップ。これを文字列(CustomerID)に変換するにはどうすればよいですか?

私は

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

ような何かをしようとしたが、それは明らかにバイトのエンコーディングに応じて、事前

+0

最初に 'CustomerId'を' byte [] 'にするのはなぜですか? – leppie

+0

顧客IDはどのように見えますか?テキストですか?それとも数値的なものか? 'Convert.ToBase64String'は、パッケージで言うとおり、それは[base64 string](http://en.wikipedia.org/wiki/Base64)に変換されます。なぜ文字列を見たいのですか?何のために? –

+0

顧客IDはテキストと数値ですが、新しいデータベースには適切なIDがありますが、他の参照のためにこれを出荷する必要があります。他のデータベースは、このIDを必要とする列の文字列のみを受け入れます。 – Morgan

答えて

2

おかげで動作しません、あなたが正しいEncodingオブジェクトを必要とするだろう変換を実行します。それはASCIIであると仮定すると、あなたはこれを行うことができます。

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

は異なるエンコーディング(UTF8、UTF16など)での場合は、適切なものを使用します。

+0

こんにちはJeff、「エラー1 'System.Data.DataRow」に' Field 'の定義がなく、' System.Data.DataRow 'タイプの最初の引数を受け入れる拡張メソッドはありません。 (使用しているディレクティブやアセンブリ参照がありませんか?) " – Morgan

+0

' Field() '拡張メソッドを使う代わりにキャストが必要です。 C#2.0だと追加したので、拡張メソッドは利用できません。 –

+0

ありがとう、それは今働きます。申し訳ありませんが、最初から2.0を追加するのを忘れました。 – Morgan

関連する問題