ݺߣ

ݺߣShare a Scribd company logo
LTUDQL 2
©HCMUS. - 1 -
Tạo Report trên VS .NET
Bùi Tấn Lộc
btloc@fit.hcmus.edu.vn
LTUDQL 2
©HCMUS.
Nội dung
• Loại report hỗ trợ cơ bản trên VS.NET
• Crystal Report hay RDLC?
• Làm thế nào sử dụng Crystal Report trên VS .NET 2010?
• Đã cài Crystal Report, nhưng khi tạo mới 1 report (*.rpt) lại
báo lỗi lúc biên dịch, không tìm thấy control ReportViewer?
• Tạo Crystal Report với file *.mdf
- 2 -
LTUDQL 2
©HCMUS.
1.Loại report hỗ trợ cơ bản trên VS.NET
• Crystal Report (*.rpt)
• Từ phiên bản VS 2010 không còn cài sẵn, muốn sử dụng phải cài thêm
gói SAP Crystal Report
• RDLC - Report Definition Language Client-side (*.rdlc)
• Còn gọi là SQL Server Reporting Services hoặc Microsoft Report
- 3 -
LTUDQL 2
©HCMUS.
2.Crystal Report hay RDLC?
• Thông tin thảo luận trên forum Microsoft:
• http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b1068dca-
75d6-4d93-bf9f-2371547b94e9
• So sánh giữa Crystal Report và RDLC:
• http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp
• Ý kiến cá nhân:
• RDLC có giao diện in ấn đẹp mắt
• Khi tạo setup cho ứng dụng RDLC tự động nhúng vào gói cài đặt, còn
Crystal Report phải dùng merge module
• Khi chạy trên máy khác, đối với Crystal Report cài cho VS2010 cần cài
“DotNet Framework 4 full” trên client để chạy tốt.
• Crystal Report dễ sử dụng hơn RDLC
- 4 -
LTUDQL 2
©HCMUS.
3.Làm thế nào sử dụng Crystal Report trên VS .NET 2010?
• Cài đặt bản “SAP Crystal Reports, version for Visual Studio 2010 - Standard”
• http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
- 5 -
LTUDQL 2
©HCMUS.
4.Đã cài Crystal Report, nhưng khi tạo mới 1 report (*.rpt) lại
báo lỗi lúc biên dịch, không tìm thấy control ReportViewer?
- 6 -
LTUDQL 2
©HCMUS.
4.(tt) Sửa lỗi trên project VB.NET
• Right Click Project/Properties/Compile/Advanced Compile Options
- 7 -
LTUDQL 2
©HCMUS.
4.(tt) Sửa lỗi trên project VB.NET
• Target framework/.NET Framework 4
- 8 -
LTUDQL 2
©HCMUS.
4.(tt) Sửa lỗi trên project C#
•Right Click Project/Properties/Application/Target
framework/.NET framework 4
- 9 -
LTUDQL 2
©HCMUS.
5.Tạo Crystal Report với file *.mdf
• Crystal Report không kết nối trực tiếp đến *.mdf. Có thể giải
quyết như sau:
• Attach *.mdf vào SQL Server (khi attach phải run as Administrator)
USE [master]
GO
CREATE DATABASE [TruongHoc] ON
( FILENAME = N'C:QuanLyTruongHocPresentationbinDebugTruongHoc.mdf' ),
( FILENAME = N'C:QuanLyTruongHocPresentationbinDebugTruongHoc_Log.ldf' )
FOR ATTACH
GO
• Sử dụng Crystal Report kết nối đến CSDL SQL Server
• Vấn đề: Cystal Report sẽ xung đột truy xuất CSDL với kỹ
thuật LINQ nếu làm theo cách này!
• Nên sử dụng cùng một cách thức truy xuất CSDL cho LINQ
và Crystal Report (thông qua SQL Server)
- 10 -
LTUDQL 2
©HCMUS.
6.Áp dụng LINQ vào Crystal Report
• DataSource của CrystalReportDocument có thể là dạng kiểu
tập hợp (danh sách, bảng dữ liệu, DataSet, …)
• Chuyển kết quả truy vấn của LINQ sang dạng danh sách,
DataTable, DataSet (DataTable không bị lỗi biên dịch)
• Sử dụng .NET Framework 3.5 để biên dịch
- 11 -
LTUDQL 2
©HCMUS.
6.Áp dụng LINQ vào Crystal Report (tt)
'Thong ke hoc sinh theo diem trung binh
lstHs = hsBus.ThongKeHocSinhTheoDTB(5)
Dim tableDemo As New DataTable("demo")
tableDemo.Columns.Add("Ma")
tableDemo.Columns.Add("Ten")
tableDemo.Columns.Add("DTB")
tableDemo.Columns.Add("TenLop")
For Each item In lstHs
Dim dr As DataRow
dr = tableDemo.NewRow()
dr("Ma") = item.Ma
dr("Ten") = item.Ten
dr("DTB") = item.DTB
dr("TenLop") = item.LopHoc.Ten
tableDemo.Rows.Add(dr)
Next
rpt.SetDataSource(tableDemo)
CrystalReportViewer1.ReportSource = rpt
- 12 -
LTUDQL 2
©HCMUS.
7.Chạy ứng dụng trên máy khác – App.Config (Presentation)
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
<appSettings>
<add key="connectionString" value="Data Source=BTLOC-
LAPTOPSQLEXPRESS;Initial Catalog=TruongHoc;Integrated
Security=True" />
</appSettings>
</configuration>
• Khi biên dịch sẽ tạo ra file <TenProject>.exe.config có nội dung
như trên. File này nằm cùng thư mục với tập tin thực thi. Chỉ
cần chỉnh sửa giá trị của file config được biên dịch này là có thể
chạy trên máy khác.
- 13 -
LTUDQL 2
©HCMUS.
7.Chạy ứng dụng trên máy khác – Đọc chuỗi kết nối
Dim cnStr As String
cnStr =
System.Configuration.ConfigurationSettings
.AppSettings("ConnectionString")
- 14 -
LTUDQL 2
©HCMUS.
7. Chạy ứng dụng trên máy khác
Thay đổi chuỗi kết nối cho Crystal Report
Dim rpt As New rptDanhSachHocSinh()
MyModule.ChangeConnection(rpt, cnStr)
Dim lhBus As New LopHocBus(cnStr)
Dim dsLopHoc As IList
dsLopHoc = lhBus.LayDanhSach()
- 15 -
LTUDQL 2
©HCMUS.
7. Chạy ứng dụng trên máy khác
Hàm ChangeConnection
Dim conn_string_array() As String =
Split(cnStr, ";")
Dim key_value() As String
For i = 0 To conn_string_array.Count - 1
key_value = Split(conn_string_array(i), "=")
If key_value(0).ToLower = "data source" Then
server_name = key_value(1)
ElseIf key_value(0).ToLower = "initial
catalog" Then
database_name = key_value(1)
ElseIf key_value(0).ToLower = "user id" Then
user_id = key_value(1)
ElseIf key_value(0).ToLower = "password"
Then
password = key_value(1)
ElseIf key_value(0).ToLower = "integrated
security" Then
sspi = key_value(1)
End If
Next
For i = 0 To rpt.Database.Tables.Count - 1
Dim logoninfo As TableLogOnInfo
logoninfo = rpt.Database.Tables(i).LogOnInfo
logoninfo.ConnectionInfo.ServerName =
server_name
logoninfo.ConnectionInfo.DatabaseName =
database_name
logoninfo.ConnectionInfo.UserID = user_id
logoninfo.ConnectionInfo.Password = password
logoninfo.ConnectionInfo.IntegratedSecurity
= sspi
rpt.Database.Tables.Item(i).ApplyLogOnInfo(logo
ninfo)
Next
- 16 -
LTUDQL 2
©HCMUS.
7. Chạy ứng dụng trên máy khác
Thay đổi chuỗi cnStr cho LINQ
Public Class LopHocBus
Private _cnStr As String
Public Sub New(ByVal cnStr As String)
_cnStr = cnStr
End Sub
Public Function LayDanhSach() As IList
'Kiem tra business rule neu co
Dim db As New TruongHocDataContext(_cnStr)
Dim query = From lh In db.LopHocs
Select lh
Return query.ToList()
End Function
End Class
- 17 -
LTUDQL 2
©HCMUS.
8.Áp dụng
• Làm lại theo video demo
• Thử đem ứng dụng lên máy 1 người khác chạy
- 18 -
LTUDQL 2
©HCMUS.
Câu hỏi?
- 19 -

More Related Content

Similar to 04.report 120625040327-phpapp02 (20)

PPT
Linq To Sql
quyloc
PDF
Aspnet 3.5 _02
Duong Nguyen
DOC
Crystal repor
nghia_790a
PPT
Linq to-sql-1221970293242272-9
m22m
PPT
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
truong le hung
PPT
01 chuong1-gioithieuado-140404114504-phpapp01
huynhtrong774129
DOCX
Trong bài viết hôm nay
ledoanduc
PDF
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
PPT
Linq n hibernate net-tier
Nguyen Tran
PPT
04 ado
hao191999
PDF
Lap trinhcosodulieuvoi c-sharp_phan-1
Hiển Phùng
PDF
Linq to-sql-tutorial
nhieutien2014
PDF
Linq to-sql-tutorial
satthuech
PDF
Linq vnese
chienhm
PPTX
Linq2 sql
Dũng Đinh
PDF
Linq to-sql-tutorial
openglvn
PDF
Linq to-sql-tutorial
Dinh Thuy Ngat
PDF
Bai giang thnc phan acccess
Nga Hà
DOCX
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
Dao Uit
Linq To Sql
quyloc
Aspnet 3.5 _02
Duong Nguyen
Crystal repor
nghia_790a
Linq to-sql-1221970293242272-9
m22m
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
truong le hung
01 chuong1-gioithieuado-140404114504-phpapp01
huynhtrong774129
Trong bài viết hôm nay
ledoanduc
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
Linq n hibernate net-tier
Nguyen Tran
04 ado
hao191999
Lap trinhcosodulieuvoi c-sharp_phan-1
Hiển Phùng
Linq to-sql-tutorial
nhieutien2014
Linq to-sql-tutorial
satthuech
Linq vnese
chienhm
Linq2 sql
Dũng Đinh
Linq to-sql-tutorial
openglvn
Linq to-sql-tutorial
Dinh Thuy Ngat
Bai giang thnc phan acccess
Nga Hà
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
Dao Uit

More from huynhtrong774129 (9)

PPTX
1.ạnճ󲹴dzղԵԳ´ǰ.ٳ
huynhtrong774129
PPTX
3.BangTinh_Excel.pptx
huynhtrong774129
PPT
C3.Excel.ppt
huynhtrong774129
PPT
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
huynhtrong774129
PPT
04 chuong4-databinding-140404115313-phpapp02
huynhtrong774129
PPT
04 chuong4-capnhatdulieu-140404115156-phpapp02
huynhtrong774129
PPT
03 chuong3-datasets-140404114719-phpapp02
huynhtrong774129
PPT
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
huynhtrong774129
PDF
Storedprocedure 140411073406-phpapp02
huynhtrong774129
1.ạnճ󲹴dzղԵԳ´ǰ.ٳ
huynhtrong774129
3.BangTinh_Excel.pptx
huynhtrong774129
C3.Excel.ppt
huynhtrong774129
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
huynhtrong774129
04 chuong4-databinding-140404115313-phpapp02
huynhtrong774129
04 chuong4-capnhatdulieu-140404115156-phpapp02
huynhtrong774129
03 chuong3-datasets-140404114719-phpapp02
huynhtrong774129
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
huynhtrong774129
Storedprocedure 140411073406-phpapp02
huynhtrong774129
Ad

Recently uploaded (20)

PDF
Quá trình thông khí phổi Bộ môn sinh lý.
VnLPhi1
PPTX
Past_Simple_Tense_Lesson.pptxsdjkdhsdkhkhd
itsa1off1
PDF
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
tranchauanh22006
PPTX
2023_IQA_Hoi thao ky thuat khao thi_Tong quan.pptx
ThienLu1
DOCX
Sach Song Ngu Anh Viet phim Nghe Sieu De
Sach Song Ngu
PDF
KTCP123445223243eewreewrwerwerwerwewerwerwer
BngBinh2
PDF
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
Nguyen Thanh Tu Collection
PDF
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
PPTX
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
24161298
PDF
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
PDF
20 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 6 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
PPT
Cau hoi do vui trung thu cho cac em thieu nhi
JetLee51
PPT
Thiết kế hệ thống Cơ điện tử dành cho ngành Cơ điện tử
TrinhThang16
PDF
CÔNG NGHỆ SẢN XUẤT DƯỢC PHẨM BÀI CÔNG NGHỆ BÀO CHẾ VIÊN NÉN ĐẠI HỌC TÂY ĐÔ.pdf
Nguyen Thanh Tu Collection
PDF
GIÁO TRÌNH KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - KHÔNG CHUYÊN.pdf
TamDoan44
PDF
Giáo Dục Minh Triết: Chuẩn bị Tâm thế - Tâm thức bước vào kỷ nguyên mới
Chu Văn Đức
PDF
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
PPTX
Chương 5 - VIE.pptxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
dungthuy3946
PPTX
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
phuocnguyenminh22
PDF
Trường Anh ngữ ICL - Cebu Brochure 2025.pdf
Du học MICE - Du học tiếng Anh
Quá trình thông khí phổi Bộ môn sinh lý.
VnLPhi1
Past_Simple_Tense_Lesson.pptxsdjkdhsdkhkhd
itsa1off1
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
tranchauanh22006
2023_IQA_Hoi thao ky thuat khao thi_Tong quan.pptx
ThienLu1
Sach Song Ngu Anh Viet phim Nghe Sieu De
Sach Song Ngu
KTCP123445223243eewreewrwerwerwerwewerwerwer
BngBinh2
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
Nguyen Thanh Tu Collection
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
24161298
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
20 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 6 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
Cau hoi do vui trung thu cho cac em thieu nhi
JetLee51
Thiết kế hệ thống Cơ điện tử dành cho ngành Cơ điện tử
TrinhThang16
CÔNG NGHỆ SẢN XUẤT DƯỢC PHẨM BÀI CÔNG NGHỆ BÀO CHẾ VIÊN NÉN ĐẠI HỌC TÂY ĐÔ.pdf
Nguyen Thanh Tu Collection
GIÁO TRÌNH KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - KHÔNG CHUYÊN.pdf
TamDoan44
Giáo Dục Minh Triết: Chuẩn bị Tâm thế - Tâm thức bước vào kỷ nguyên mới
Chu Văn Đức
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
Chương 5 - VIE.pptxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
dungthuy3946
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
phuocnguyenminh22
Trường Anh ngữ ICL - Cebu Brochure 2025.pdf
Du học MICE - Du học tiếng Anh
Ad

04.report 120625040327-phpapp02

  • 1. LTUDQL 2 ©HCMUS. - 1 - Tạo Report trên VS .NET Bùi Tấn Lộc btloc@fit.hcmus.edu.vn
  • 2. LTUDQL 2 ©HCMUS. Nội dung • Loại report hỗ trợ cơ bản trên VS.NET • Crystal Report hay RDLC? • Làm thế nào sử dụng Crystal Report trên VS .NET 2010? • Đã cài Crystal Report, nhưng khi tạo mới 1 report (*.rpt) lại báo lỗi lúc biên dịch, không tìm thấy control ReportViewer? • Tạo Crystal Report với file *.mdf - 2 -
  • 3. LTUDQL 2 ©HCMUS. 1.Loại report hỗ trợ cơ bản trên VS.NET • Crystal Report (*.rpt) • Từ phiên bản VS 2010 không còn cài sẵn, muốn sử dụng phải cài thêm gói SAP Crystal Report • RDLC - Report Definition Language Client-side (*.rdlc) • Còn gọi là SQL Server Reporting Services hoặc Microsoft Report - 3 -
  • 4. LTUDQL 2 ©HCMUS. 2.Crystal Report hay RDLC? • Thông tin thảo luận trên forum Microsoft: • http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b1068dca- 75d6-4d93-bf9f-2371547b94e9 • So sánh giữa Crystal Report và RDLC: • http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp • Ý kiến cá nhân: • RDLC có giao diện in ấn đẹp mắt • Khi tạo setup cho ứng dụng RDLC tự động nhúng vào gói cài đặt, còn Crystal Report phải dùng merge module • Khi chạy trên máy khác, đối với Crystal Report cài cho VS2010 cần cài “DotNet Framework 4 full” trên client để chạy tốt. • Crystal Report dễ sử dụng hơn RDLC - 4 -
  • 5. LTUDQL 2 ©HCMUS. 3.Làm thế nào sử dụng Crystal Report trên VS .NET 2010? • Cài đặt bản “SAP Crystal Reports, version for Visual Studio 2010 - Standard” • http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp - 5 -
  • 6. LTUDQL 2 ©HCMUS. 4.Đã cài Crystal Report, nhưng khi tạo mới 1 report (*.rpt) lại báo lỗi lúc biên dịch, không tìm thấy control ReportViewer? - 6 -
  • 7. LTUDQL 2 ©HCMUS. 4.(tt) Sửa lỗi trên project VB.NET • Right Click Project/Properties/Compile/Advanced Compile Options - 7 -
  • 8. LTUDQL 2 ©HCMUS. 4.(tt) Sửa lỗi trên project VB.NET • Target framework/.NET Framework 4 - 8 -
  • 9. LTUDQL 2 ©HCMUS. 4.(tt) Sửa lỗi trên project C# •Right Click Project/Properties/Application/Target framework/.NET framework 4 - 9 -
  • 10. LTUDQL 2 ©HCMUS. 5.Tạo Crystal Report với file *.mdf • Crystal Report không kết nối trực tiếp đến *.mdf. Có thể giải quyết như sau: • Attach *.mdf vào SQL Server (khi attach phải run as Administrator) USE [master] GO CREATE DATABASE [TruongHoc] ON ( FILENAME = N'C:QuanLyTruongHocPresentationbinDebugTruongHoc.mdf' ), ( FILENAME = N'C:QuanLyTruongHocPresentationbinDebugTruongHoc_Log.ldf' ) FOR ATTACH GO • Sử dụng Crystal Report kết nối đến CSDL SQL Server • Vấn đề: Cystal Report sẽ xung đột truy xuất CSDL với kỹ thuật LINQ nếu làm theo cách này! • Nên sử dụng cùng một cách thức truy xuất CSDL cho LINQ và Crystal Report (thông qua SQL Server) - 10 -
  • 11. LTUDQL 2 ©HCMUS. 6.Áp dụng LINQ vào Crystal Report • DataSource của CrystalReportDocument có thể là dạng kiểu tập hợp (danh sách, bảng dữ liệu, DataSet, …) • Chuyển kết quả truy vấn của LINQ sang dạng danh sách, DataTable, DataSet (DataTable không bị lỗi biên dịch) • Sử dụng .NET Framework 3.5 để biên dịch - 11 -
  • 12. LTUDQL 2 ©HCMUS. 6.Áp dụng LINQ vào Crystal Report (tt) 'Thong ke hoc sinh theo diem trung binh lstHs = hsBus.ThongKeHocSinhTheoDTB(5) Dim tableDemo As New DataTable("demo") tableDemo.Columns.Add("Ma") tableDemo.Columns.Add("Ten") tableDemo.Columns.Add("DTB") tableDemo.Columns.Add("TenLop") For Each item In lstHs Dim dr As DataRow dr = tableDemo.NewRow() dr("Ma") = item.Ma dr("Ten") = item.Ten dr("DTB") = item.DTB dr("TenLop") = item.LopHoc.Ten tableDemo.Rows.Add(dr) Next rpt.SetDataSource(tableDemo) CrystalReportViewer1.ReportSource = rpt - 12 -
  • 13. LTUDQL 2 ©HCMUS. 7.Chạy ứng dụng trên máy khác – App.Config (Presentation) <?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v2.0.50727"/></startup> <appSettings> <add key="connectionString" value="Data Source=BTLOC- LAPTOPSQLEXPRESS;Initial Catalog=TruongHoc;Integrated Security=True" /> </appSettings> </configuration> • Khi biên dịch sẽ tạo ra file <TenProject>.exe.config có nội dung như trên. File này nằm cùng thư mục với tập tin thực thi. Chỉ cần chỉnh sửa giá trị của file config được biên dịch này là có thể chạy trên máy khác. - 13 -
  • 14. LTUDQL 2 ©HCMUS. 7.Chạy ứng dụng trên máy khác – Đọc chuỗi kết nối Dim cnStr As String cnStr = System.Configuration.ConfigurationSettings .AppSettings("ConnectionString") - 14 -
  • 15. LTUDQL 2 ©HCMUS. 7. Chạy ứng dụng trên máy khác Thay đổi chuỗi kết nối cho Crystal Report Dim rpt As New rptDanhSachHocSinh() MyModule.ChangeConnection(rpt, cnStr) Dim lhBus As New LopHocBus(cnStr) Dim dsLopHoc As IList dsLopHoc = lhBus.LayDanhSach() - 15 -
  • 16. LTUDQL 2 ©HCMUS. 7. Chạy ứng dụng trên máy khác Hàm ChangeConnection Dim conn_string_array() As String = Split(cnStr, ";") Dim key_value() As String For i = 0 To conn_string_array.Count - 1 key_value = Split(conn_string_array(i), "=") If key_value(0).ToLower = "data source" Then server_name = key_value(1) ElseIf key_value(0).ToLower = "initial catalog" Then database_name = key_value(1) ElseIf key_value(0).ToLower = "user id" Then user_id = key_value(1) ElseIf key_value(0).ToLower = "password" Then password = key_value(1) ElseIf key_value(0).ToLower = "integrated security" Then sspi = key_value(1) End If Next For i = 0 To rpt.Database.Tables.Count - 1 Dim logoninfo As TableLogOnInfo logoninfo = rpt.Database.Tables(i).LogOnInfo logoninfo.ConnectionInfo.ServerName = server_name logoninfo.ConnectionInfo.DatabaseName = database_name logoninfo.ConnectionInfo.UserID = user_id logoninfo.ConnectionInfo.Password = password logoninfo.ConnectionInfo.IntegratedSecurity = sspi rpt.Database.Tables.Item(i).ApplyLogOnInfo(logo ninfo) Next - 16 -
  • 17. LTUDQL 2 ©HCMUS. 7. Chạy ứng dụng trên máy khác Thay đổi chuỗi cnStr cho LINQ Public Class LopHocBus Private _cnStr As String Public Sub New(ByVal cnStr As String) _cnStr = cnStr End Sub Public Function LayDanhSach() As IList 'Kiem tra business rule neu co Dim db As New TruongHocDataContext(_cnStr) Dim query = From lh In db.LopHocs Select lh Return query.ToList() End Function End Class - 17 -
  • 18. LTUDQL 2 ©HCMUS. 8.Áp dụng • Làm lại theo video demo • Thử đem ứng dụng lên máy 1 người khác chạy - 18 -