#眉標=Visual Studio 2005 #副標=Visual Studio 2005新功能系列(16) #大標=使用ReportViewer快速建立報表應用程式(上) #作者=文/沈炳宏 ==程式1 =========== =System.Convert.FromBase64String( Mid(System.Convert.ToBase64String( Fields!Photo.Value),105)) ================ ==程式2 =========== Public Sub loadDataSource() Dim cnString As String = "Data Source=localhost;Initial Catalog=northwind; User Id=sa;Password=password;" Dim conReport As SqlConnection = New SqlConnection(cnString) Dim cmdReport As SqlCommand = New SqlCommand Dim drReport As SqlDataReader Dim dsReport As DataSet = New DataSet1 dsReport.EnforceConstraints = False Try conReport.Open() cmdReport.CommandType = CommandType.Text cmdReport.Connection = conReport cmdReport.CommandText = "Select EmployeeID,LastName,FirstName, Title,TitleOfCourtesy,Photo FROM Employees" drReport = cmdReport.ExecuteReader dsReport.Tables(0).Load(drReport) drReport.Close() conReport.Close() Me.ReportViewer1.LocalReport. ReportEmbeddedResource = "ReportViewerDemo.NWEmployees.rdlc" Dim rds As ReportDataSource = New ReportDataSource rds.Name = "dsEmployees" rds.Value = dsReport.Tables(0) Me.ReportViewer1.LocalReport. DataSources.Add(rds) Me.ReportViewer1.LocalReport. EnableExternalImages = True Me.ReportViewer1.RefreshReport() Catch ex As Exception MessageBox.Show(ex.Message) Finally If conReport.State = ConnectionState.Open Then conReport.Close() End If End Try End Sub ================ ==程式3 =========== SELECT Products.ProductName, Categories.CategoryName, '1997Q' + CONVERT(varchar, DATEPART(quarter, Orders.OrderDate)) AS Quarter, CONVERT(money, SUM(([Order Details].UnitPrice * [Order Details].Quantity) (1 - [Order Details].Discount))) AS ProductOrders FROM Categories INNER JOIN Products INNER JOIN Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID ON Products.ProductID = [Order Details].ProductID ON Categories.CategoryID = Products.CategoryID WHERE (Orders.OrderDate BETWEEN '1/1/1997' AND '12/31/1997') GROUP BY Products.ProductName, Categories.CategoryName, Orders.OrderDate ORDER BY Categories.CategoryName, Products.ProductName, Quarter ================ =========box作者介紹========== 沈炳宏 台灣微軟3-1/4-1/5-1/6-1MVP,長庚資管所畢業,致力於各軟體開發技術的研究,現任職為軟體工程師。 =============end===============