dataTypeがvarBinaryのデータベースフィールドがあります。今私はそのデータを表示したいgridViewで。varBinaryフィールドのデータを表示する方法
System.Byte[]
ないデータベースにある値
0x2C6D1A
:しかし、私は出力を取得しています。
この問題の解決方法をお手伝いしてください。
dataTypeがvarBinaryのデータベースフィールドがあります。今私はそのデータを表示したいgridViewで。varBinaryフィールドのデータを表示する方法
System.Byte[]
ないデータベースにある値
0x2C6D1A
:しかし、私は出力を取得しています。
この問題の解決方法をお手伝いしてください。
あなたは表示目的のために、あなたのバイト配列をフォーマットしBitConverter
クラスを使用することができます。
string forDisplay =
"0x" + BitConverter.ToString(yourByteArray).Replace("-", string.Empty);
あなたはstring
、BitConverter
has a load of methodsに直接変換したくない場合は、様々な他のタイプのバイト配列から変換します。
EDIT ...
あなたはGridView
コントロールに直接いくつかのクエリ結果を結合している場合、クエリ自体にVARCHAR
にごVARBINARY
列を変換する方が簡単かもしれません:
SELECT CONVERT(VARCHAR(MAX), your_varbinary_column, 1) AS for_display
FROM your_table
(注:このタイプの変換 - VARBINARY
からVARCHAR
までは'0x1234AB'
フォーマットです - SQL Server 2008では正しく動作します。以前のバージョンのSQL Serverはビンのみをキャストしました直接文字データに進データ)
利用できる明白な何でも、多分ちょうどループがない場合:。
public static string ToHexString(byte[] raw)
{ // could also be an extension method
StringBuilder sb = new StringBuilder("0x", 2 + (raw.Length * 2));
for (int i = 0; i < raw.Length; i++)
{
sb.Append(raw[i].ToString("X2"));
}
return sb.ToString();
}
が、これはクラスプロパティである場合は、ないTypeConverter
を作成するために、些細なことだろうこの(表示用)、および[TypeConverter(typeof(HexConverter))]
でプロパティをマーク:
class HexConverter : TypeConverter // untested
{
public override object ConvertTo(ITypeDescriptorContext context,
System.Globalization.CultureInfo culture,
object value, Type destinationType)
{
if (destinationType == typeof(string))
{
return ToHexString((byte[])value);
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
SQL ServerからDataGridにデータをバインドするには?ユーザーにファイルを更新するオプションを与える必要があります(既存のファイルを新しいファイルで置き換える)。まず、SQL Serverから既存のファイルをロードして、ユーザーにオプションを指定して置き換えるか、ロードせずに置き換えるWebアプリケーションに? –
@RehanMehdi全く関係のない質問のようです。私はちょうどオブジェクトモデルにそれを投げるだろう... –
返信いただきありがとうございます。それを書いて私を助けてくれますか?私はオブジェクトプログラミングの新しいです。自分のコードで新しい質問を始めるべきですか? –
あなたは、もう少し具体的に説明してくださいできます。このコード行を追加する場所を理解できませんでした。申し訳ありません。 'string forDisplay = " 0x "+ BitConverter.ToString(yourByteArray).Replace(" - "string.Empty); ' –