0

AC# アプリケーションは、ファイルから画像を参照し、それを SQL Server 2005 データベースに byte[] としてアップロードします。(Management Studio を使用して) テーブルを開くと、ピクチャ フィールドに「バイナリ データ」と表示されます。アプリケーションが実行されると、同じテーブルの他のすべてのフィールドが、画像フィールドを除いてレポートに表示されます。データベースでは、ピクチャ フィールドのタイプはイメージです。結晶レポートでは、画像はブロブ フィールドです。Crystal Report に画像が表示されません。データセットを使用しています。あなたの支援は大歓迎です!


@ C_Major さん、コードのどの部分を見たいですか? ウィザードを使用して、データセットを使用して Crystal レポートを作成しました。データセットは、DB で作成したビューに基づいており、以前に保存した名前のリストで満たされたコンボ ボックスを含むレポート マネージャー ダイアログ ボックスがあります。ユーザーはコンボから名前を選択し、レポートの表示ボタンを入力します。次に、次のコードが実行されます。

    void studyreport()
    {
        DataTable dtindividual = register.studyreport(cmbName.Text);
        DataTable dtfetchpic = register.fetchpic(cmbName.Text);

        byte[] MyData = new byte[0];

        DataRow myRow;
        myRow = dtfetchpic.Rows[0];

        MyData = (byte[])myRow["Picture"];

        MemoryStream stream = new MemoryStream(MyData);

        individual.SetDataSource(dtindividual);

        reportviewer.viewer.ReportSource = individual;
        reportviewer.ShowDialog();
        this.Close();
    }
4

1 に答える 1

0

画像をデータベースにアップロードし、そのフィールドをレポートに呼び出すことができる場合、作成中に何も出力されない可能性がありますが、プレビューで画像を提供し、画像をアップロードし、任意のタイプを呼び出すだけですフィールドを使用してレポートします。

より明確にするために、任意の画像をバイナリ シーケンスに変換し、db に保存し、後でフィールドを呼び出してレポートすることができます。以前にバイナリに変換した実際の画像が表示されます。

于 2013-06-12T11:27:14.310 に答える