国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

水晶報表中如何動態加載圖片(圖片文件版本及數據庫版本)

來源:懂視網 責編:小采 時間:2020-11-09 07:32:46
文檔

水晶報表中如何動態加載圖片(圖片文件版本及數據庫版本)

水晶報表中如何動態加載圖片(圖片文件版本及數據庫版本):Step1:數據庫文件版本 如果你在數據庫中采用了二進制字段存儲圖片文件 微軟 Access 里這些字段叫作 OLE 字段,而Oracle和SQL Server把它們稱作 BLOB (二進制大型對象) 字段 那么在報表上顯示出來就非常之簡單 因為之前我沒有做過類的顯示圖片文件的報表,等
推薦度:
導讀水晶報表中如何動態加載圖片(圖片文件版本及數據庫版本):Step1:數據庫文件版本 如果你在數據庫中采用了二進制字段存儲圖片文件 微軟 Access 里這些字段叫作 OLE 字段,而Oracle和SQL Server把它們稱作 BLOB (二進制大型對象) 字段 那么在報表上顯示出來就非常之簡單 因為之前我沒有做過類的顯示圖片文件的報表,等

Step1:數據庫文件版本 如果你在數據庫中采用了二進制字段存儲圖片文件 微軟 Access 里這些字段叫作 OLE 字段,而Oracle和SQL Server把它們稱作 BLOB (二進制大型對象) 字段 那么在報表上顯示出來就非常之簡單 因為之前我沒有做過類的顯示圖片文件的報表,等

Step1:數據庫文件版本

如果你在數據庫中采用了二進制字段存儲圖片文件
微軟 Access 里這些字段叫作 OLE 字段,而Oracle和SQL Server把它們稱作 BLOB (二進制大型對象) 字段
那么在報表上顯示出來就非常之簡單
因為之前我沒有做過類似的顯示圖片文件的報表,等我做出來之后,我自己都樂了
其實對這種二進制形式來說,跟普通的字段是一樣的,拖到模板上就行了,呵呵

Setp2:下面我們來做一下加載磁盤上的圖片的程序

其實有了上次《在水晶報表中實現任意選擇指定字段顯示》的實踐,這次的思路就很明了了
就是先創建一個跟數據庫版本一致的報表,當然是使用人見人愛的Ado.Net的方式
自己構造一個DataSet,把本地圖片讀成二進制流寫進去
然后將這個DataSet推給報表就行了


我使用了水晶報表自己帶的示例數據庫里面的"雇員表"

看一下結構,主要是看一下各字段的格式,因為我們在創建DataSet的時候進行對應

特別注意下那個圖片字段的格式,在VB.Net里我們可以用Byte來與之呼應

模板文件如下,沒啥特別


代碼如下,有詳盡注釋。

1'*************************************************************************
2'**模 塊 名:CR_DynLoadPics
3'
4'**創 建 人:Babyt(阿泰) http://www.cnblogs.com/babyt
5'**日 期:2005-04-21
6'**修 改 人:
7'**日 期:
8'**描 述:從本地磁盤獲取圖片文件進行顯示
9' 本程序為原型程序,未進行完整保護
10'**版 本:V1.0.0
11'*************************************************************************
12
13Imports System.Data
14'注意此處IO的加入是為了讀取圖片文件
15Imports System.IO
16Public Class Form1Class Form1
17 Inherits System.Windows.Forms.Form
18
19Windows 窗體設計器生成的代碼#Region " Windows 窗體設計器生成的代碼 "
20
21 Public Sub New()Sub New()
22 MyBase.New()
23
24 '該調用是 Windows 窗體設計器所必需的。
25 InitializeComponent()
26
27 '在 InitializeComponent() 調用之后添加任何初始化
28
29 End Sub
30
31 '窗體重寫 dispose 以清理組件列表。
32 Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
33 If disposing Then
34 If Not (components Is Nothing) Then
35 components.Dispose()
36 End If
37 End If
38 MyBase.Dispose(disposing)
39 End Sub
40
41 'Windows 窗體設計器所必需的
42 Private components As System.ComponentModel.IContainer
43
44 '注意: 以下過程是 Windows 窗體設計器所必需的
45 '可以使用 Windows 窗體設計器修改此過程。
46 '不要使用代碼編輯器修改它。
47 Friend WithEvents Button1 As System.Windows.Forms.Button
48 Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
49 Friend WithEvents CrystalReportViewer1 As CrystalDecisions.Windows.Forms.CrystalReportViewer
50 Friend WithEvents Label1 As System.Windows.Forms.Label
51 Private Sub InitializeComponent()Sub InitializeComponent()
52 Me.Button1 = New System.Windows.Forms.Button
53 Me.TextBox1 = New System.Windows.Forms.TextBox
54 Me.CrystalReportViewer1 = New CrystalDecisions.Windows.Forms.CrystalReportViewer
55 Me.Label1 = New System.Windows.Forms.Label
56 Me.SuspendLayout()
57 '
58 'Button1
59 '
60 Me.Button1.Location = New System.Drawing.Point(520, 40)
61 Me.Button1.Name = "Button1"
62 Me.Button1.TabIndex = 0
63 Me.Button1.Text = "生成報表"
64 '
65 'TextBox1
66 '
67 Me.TextBox1.Location = New System.Drawing.Point(40, 40)
68 Me.TextBox1.Name = "TextBox1"
69 Me.TextBox1.Size = New System.Drawing.Size(392, 21)
70 Me.TextBox1.TabIndex = 1
71 Me.TextBox1.Text = "E:\myNet\CR_DynLoadPics\Pics"
72 '
73 'CrystalReportViewer1
74 '
75 Me.CrystalReportViewer1.ActiveViewIndex = -1
76 Me.CrystalReportViewer1.AutoScroll = True
77 Me.CrystalReportViewer1.DisplayBackgroundEdge = False
78 Me.CrystalReportViewer1.DisplayGroupTree = False
79 Me.CrystalReportViewer1.Location = New System.Drawing.Point(24, 80)
80 Me.CrystalReportViewer1.Name = "CrystalReportViewer1"
81 Me.CrystalReportViewer1.ReportSource = Nothing
82 Me.CrystalReportViewer1.Size = New System.Drawing.Size(616, 320)
83 Me.CrystalReportViewer1.TabIndex = 2
84 '
85 'Label1
86 '
87 Me.Label1.Location = New System.Drawing.Point(40, 8)
88 Me.Label1.Name = "Label1"
89 Me.Label1.Size = New System.Drawing.Size(432, 23)
90 Me.Label1.TabIndex = 3
91 Me.Label1.Text = "請正確輸入圖片文件所在的目錄,最后面不要帶\,此處未進行校驗!"
92 '
93 'Form1
94 '
95 Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
96 Me.ClientSize = New System.Drawing.Size(664, 429)
97 Me.Controls.Add(Me.Label1)
98 Me.Controls.Add(Me.CrystalReportViewer1)
99 Me.Controls.Add(Me.TextBox1)
100 Me.Controls.Add(Me.Button1)
101 Me.Name = "Form1"
102 Me.Text = "Form1"
103 Me.ResumeLayout(False)
104
105 End Sub
106
107#End Region
108
109 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
110 '查看CrystalReport1的定義可以查看對應的報表類
111 Dim crReportDocument As New CrystalReport1
112 Dim myDataSet As New DataSet
113 Dim PicPath As String
114 Dim myColume As System.Data.DataColumn
115 Dim myRow As DataRow
116
117 '---------------------------------------------------------------------
118 '構造一個表,對應xsd文件
119 myDataSet.Tables.Add("雇員")
120 '構造表結構,可以只構造部分字段
121 myDataSet.Tables(0).Columns.Add("姓", System.Type.GetType("System.String"))
122 myDataSet.Tables(0).Columns.Add("名", System.Type.GetType("System.String"))
123 myDataSet.Tables(0).Columns.Add("雇員照片", System.Type.GetType("System.Byte[]"))
124
125 '---------------------------------------------------------------------
126 '寫入數據
127 '注意此處沒有進行校驗
128 PicPath = TextBox1.Text & "\"
129 '寫數據行(分別用了3種圖片格式)
130 '提示:
131 ' 在這里你就可以使用你的數據庫中保存的文件路徑了
132 ' 用你的DataSet來填充這個將推給報表的DataSet
133 ' 如:
134 AddOneRow(myDataSet.Tables(0), "Babyt", "JPG文件", PicPath & "BBT_042105_04.jpg")
135 AddOneRow(myDataSet.Tables(0), "FaceSun", "Gif文件", PicPath & "Image49.gif")
136 AddOneRow(myDataSet.Tables(0), "張", "Gif文件", PicPath & "Image5.gif")
137 AddOneRow(myDataSet.Tables(0), "王", "JPG文件", PicPath & "1.jpg")
138 AddOneRow(myDataSet.Tables(0), "燕子", "JPG文件", PicPath & "2.jpg")
139 AddOneRow(myDataSet.Tables(0), "Cnblogs.com/babyt", "BMP文件", PicPath & "Coup30.bmp")
140
141 '將這個DataSet推給報表
142 crReportDocument.SetDataSource(myDataSet)
143
144 ''將報表傳遞給瀏覽器
145 CrystalReportViewer1.ReportSource = crReportDocument
146 End Sub
147 '*************************************************************************
148 '**函 數 名:AddOneRow
149 '**輸 入:
150 ' ByRef tbl As DataTable 要操作的表,注意是Byref
151 ' ByVal c1 As String 第一個字段的值
152 ' ByVal c1 As String 第二個字段的值
153 ' ByVal c1 As String 第三個字段的值,注意傳入的是完整的圖片文件名
154 '**輸 出:無
155 '**功能描述: 在DataTable中增加一個數據行
156 ' 該過程的主要是封裝根據文件名提取本地文件寫入到DataSet中
157 '**全局變量:
158 '**調用模塊:
159 '**作 者:Babyt(阿泰)
160 '**日 期:2005-04-21
161 '**修 改 人:
162 '**日 期:
163

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

水晶報表中如何動態加載圖片(圖片文件版本及數據庫版本)

水晶報表中如何動態加載圖片(圖片文件版本及數據庫版本):Step1:數據庫文件版本 如果你在數據庫中采用了二進制字段存儲圖片文件 微軟 Access 里這些字段叫作 OLE 字段,而Oracle和SQL Server把它們稱作 BLOB (二進制大型對象) 字段 那么在報表上顯示出來就非常之簡單 因為之前我沒有做過類的顯示圖片文件的報表,等
推薦度:
標簽: 圖片 文件 文檔
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲一区二区三区在线免费观看 | 91精品日本久久久久久牛牛 | 夜夜操网 | 久久精品国产精品亚洲综合 | 国产日韩欧美视频在线观看 | 欧美人善交 | 欧美首页 | 欧美日韩精品免费一区二区三区 | 亚洲97| 91中文字幕在线观看 | 久久精品国产亚洲精品2020 | 久久伊人中文字幕 | 国产在线精品一区二区高清不卡 | 欧美日韩免费看 | 一区二区三区在线 | 亚洲国产成人久久综合一区 | 激情欧美一区二区三区中文字幕 | 欧美第一页在线观看 | 国产毛片视频 | 日韩视频免费在线观看 | 大香伊人中文字幕精品 | 国产视频最新 | 精品国产一区二区三区麻豆小说 | 免费看真人a一级毛片 | 欧美日韩一区二区三区在线观看 | 亚洲免费久久 | 国产欧美综合精品一区二区 | 中文国产成人精品久久app | 国产欧美日韩精品第二区 | 国产日韩欧美视频在线观看 | 精品久久久久久亚洲 | 免费看男女做好爽好硬视频 | 国产高清免费视频 | 国产一区二区在线播放 | 最新偷窥盗摄视频在线 | 午夜香蕉视频 | 亚洲高清视频在线观看 | 欧美一级在线 | 欧美色图一区 | 国产在线高清不卡免费播放 | 国产91精品一区二区视色 |