Я хочу получить данные изображения из SQL Server 2008 Express и отобразить их непосредственно в Crystal Report.Я использую Visual Studio 2012 вместе с Crystal Reports для Visual Studio (также полная версия SAP Crystal Reports 2013).
Я пытался использовать примеры из поисков Google / SO, но мне не хватает хотя бы одного ключевого элемента.В моем проекте у меня есть набор данных с одним полем System.Byte()
, Crystal Report и средство просмотра.
Вот фрагмент кода, который запрашивает базу данных, читает поток памяти и помещает данные изображения в набор данных.
Dim ds As New DataSet1
Dim row As DataRow
Dim objConn As New SqlConnection(DatabaseConnection.CTLDataConnectionString)
Dim objCommand As SqlCommand = objConn.CreateCommand
objCommand.CommandText = "SELECT Content FROM Report WHERE HandlingUnitID = " & HandlingUID
Dim dr As SqlDataReader = Nothing
If objConn.State = ConnectionState.Closed Then objConn.Open()
dr = objCommand.ExecuteReader
If dr.HasRows Then
dr.Read()
Dim b() As Byte = DirectCast(dr("Content"), Byte())
Using ms As New MemoryStream(b)
ds.DataTable1.Rows.Add(b)
End Using
End If
Dim rpt As New ShipLabel
rpt.SetDataSource(ds.Tables("DataTable1"))
Dim frm As New CRviewer
frm.CRvwr.ReportSource = rpt
frm.ShowDialog()
Откроется Crystal Viewer, но это пустой отчет.Я хочу знать, правильная ли у меня последовательность получения данных и правильно ли я храню их в наборе данных.