You are on page 1of 15

C# Tạo report với CSDL SQLServer

Chúng ta có Project “CallReport”


Project có 2 form. Khi chạy form 1 được load sẽ có

Khi Load form1 sẽ hiện trên DataGridView bảng “dbo. lop10A3” trong CSDL
“Bangdiem1”

1
Khi bấm vào Button “BÁO CÁO KẾT QUẢ HỌC TẬP” sẽ hiện lên form Report (form2)

Nội dung của report hiện lên nội dung bảng “dbo. lop10A3” trong CSDL “Bangdiem1”
Có thể in báo cáo này trên máy in hoặc ra file .PDF bằng cách bấm vào hình máy in

2
Có thể tìm kiếm dưa liệu. Ví dụ tìm theo tên

3
THỰC HIỆN

1. Tạo form có DataGridView, bildingSource1

Add các thuộc tính của bildingSource như sau

Kết nối với DataGridView

4
2. Tiếp theo Add form2 vào
View Solution Explorer

Thực hiện: Ấn chuột phải vào CallReport\Add\New Item

5
Name của form2 là crvProducts (Hoặc cứ để nguyên)

Tạo sẵn phần chứa mã của hàm formload là crvProducts_Load (Nếu không đổi tên thì nó
là Form2_Load)
 Ấn chuột phải vào form2
 Properties
 Events
 Ấn để tạo hàm crvProducts_Load_Load

6
3. Đưa vào form2 CrystallReportViewer

Để nguyên tên ngầm định - crystalReportViewer1

Bây giờ đã có CrystallReportViewer để hiện dữ liệu từ 1 file SQL


Để thực hiện chúng ta làm
4. Add DataSet vào Solution

7
Bấm vào New Item chọn Data Set\Add 

Hiện lên

8
Vào View\Server Explorer

Vào “Bangdiem1” mớ ra vào Tables túm lấy bảng lop10A3 đưa sang

9
Được

5. Connect vào Databaset

10
Như connext hiện DataGridView

Chọn Data base

11
6. Add Crystal Report vào Project

Ấn chuột phải vào CallReport\Add\NewItem


Chọn Reporting\Crystal Report\Add

12
OK

Dùng “Project Data\ADO.NET DataSets\..\lop10A3”

13
Finish

Mã hàm Click của Button1 (Text “BÁO CÁO KẾT QUẢ HỌC TẬP”)
Để khi bấm vào nút sẽ hiện form2
private void button1_Click(object sender, EventArgs e)
{
crvProducts fm = new crvProducts();
fm.Show();
}
Hàm FormLoad của Form2
private void crvProducts_Load (object sender, EventArgs e)
{
CrystalReport1 rpt = new CrystalReport1();// Tên của CrystalReport
SqlConnection conn = new SqlConnection(@"Data Source=DESKTOP-
6207861\SQLEXPRESS;Initial Catalog=Bangdiem1;Integrated
Security=True");//Chuỗi kết nối CSDL
conn.Open();
SqlDataAdapter dap = new SqlDataAdapter("Select * from lop10A3",
conn);
DataSet ds = new DataSet();
dap.Fill(ds);
rpt.SetDataSource(ds.Tables[0]);
crystalReportViewer2.ReportSource = rpt;// tên của Crystal Report
}
Xem các thành phần lỗi tên trong View\Solution Explorer

14
Sẽ đưa thông tin của bảng lop10A3 vào Crystal Report. Nếu dùng CSDL khác,
bảng khác thì phải sửa các tên CSDL và tên bảng cho phù hợp.

Chỉnh sửa Report:


Vào Solution
Đến Crystal Report
Ấn chuột phải
Open

15

You might also like