Невозможно отобразить изображение из базы данных на Crystal Report в C # Windows Form Appliction - PullRequest
0 голосов
/ 02 июля 2018

Как показывает вопрос, мне труднее всего показать изображение (varbinary (max)) в отчете Crystal. Я прочитал много похожих вопросов и других ссылок, включая этот, ниже http://www.hexcentral.com/articles/crystal-images.htm

Что говорит о том, что все, что мне нужно сделать, это перетащить поле изображения в отчет. Делать это оказалось бесплодным.

 SqlDataReader objReaderDetails;
        string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(connectionString))
        using (SqlCommand cmd = conn.CreateCommand())
        {


            conn.Open();                 
            cmd.CommandText = "dbo.usp_print";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@applicationId", ID);  

            cmd.ExecuteNonQuery();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable ds = new DataTable();


            da.Fill(ds);

Это весь код, который у меня есть, в основном, просто создание источника данных для отчета. Я пытался изменить тип данных, пытаясь изменить мой app.config, но ничего не помогает.

Я вижу опубликованный код simliar, но надеюсь, что получу ответ на свой вопрос.

Привет

1 Ответ

0 голосов
/ 02 июля 2018

Вы добавили обработчик Crystal Report Image в файл webconfig?

Это самая важная часть, и без нее вы не увидите изображения в Crystal Report. Вам необходимо добавить следующее в раздел Web.Config.

<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />

Для приложения Windows , используйте тип данных изображения для хранения изображения на сервере sql. прикрепить данные таблицы к отчету Crystal.

private void button2_Click(object sender, EventArgs e)
    {
        string str = "select photo from tbl_img where id='" + textBox2.Text + "'";

        string ConStr = @"Server=COMP7;Database=ImageTest;User Id=sa;Password=cos123";

        SqlConnection con = new SqlConnection(ConStr); 

        con.Open();
        SqlDataAdapter da = new SqlDataAdapter(str, con);
        DataTable dt = new DataTable();

        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            byte[] imgdata = new byte[0];
            imgdata = (byte[])dt.Rows[0][0];
            MemoryStream ms = new MemoryStream(imgdata);
            pictureBox2.Image = Image.FromStream(ms);      
        }
        else
        {
            MessageBox.Show("No images in a table");
        }
    }

Перетащите поле изображения на отчет Crystal из поля Обозреватель-> Поле базы данных-> Имя таблицы-> Имя столбца

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...