SQLテーブル(2つのテキスト/ intフィールドとイメージタイプフィールドを含む)をcsvファイルにエクスポートするコードを記述しています。イメージファイルを文字列に書き込むことができないことを除いて、すべてが機能します。ここでは、この部分のための私の現在のコードは次のとおりです。SQLイメージのデータ型をクエリして文字列に出力
string selectDocRows = "SELECT ID,Name FROM Documents WHERE ID=" + DocumentID;
SqlCommand selectFileData = new SqlCommand("SELECT FileData FROM Documents WHERE ID=" + DocumentID,SQLConnection);
using (SqlDataAdapter DocAdapter = new SqlDataAdapter(selectDocRows, SQLConnection))
{
using (DataTable DocTable = new DataTable("DocumentResults"))
{
DocAdapter.Fill(DocTable);
foreach (DataRow row in DocTable.Rows)
{
string DocRow = string.Format("{0},{1},", row[0], row[1]);
byte[] DocPDF = (byte[])selectFileData.ExecuteScalar() ;
CSVText.AppendLine(DocRow + DocPDF);
}
}
}
バイト[]と呼ばれるDocPDFのために返す結果は次のとおりです。
1、ChatLog今すぐミーティング2016_12_13 12_26.pdf、System.Byte []
3列:インデックス、ファイル名、およびファイルの内容
しかし、その代わりに本物のファイルコンテンツの、私はちょうど "System.Byte []"
を取得単一のSQLクエリを実行してその3番目の列を文字列に変換すると、同じ結果が得られます。私はSQLクエリーに表示されている127,000文字を必要としています。代わりに、私はちょうど "System.Byte []"を取得します
助けていただければ幸いです。