SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Website: http://itctu.com                                    Sinh viên CNTT ĐHCT
              BÀI TẬP THỰC HÀNH: LẬP TRÌNH WINDOWS 2
BÀI SỐ 01:

Sử dụng cơ sở dữ liệu MS SQL Server (2005) quản lý kho (có file .zip kèm theo):




Sử dụng MS Visual Studio .NET 2005/2008, thiết kế form cho phép chọn và lọc danh sách
hàng hóa theo loại hàng hóa như sau:




Yêu cầu:
+ Khi chọn danh sách loại hàng hóa, các mặt hàng có cùng chủng loại sẽ được lọc trong
DataGridView bên dưới.
+ Khi nhấn nút IN DANH SÁCH HÀNG HÓA, kết quả sẽ được xuất ra report:




Tài liệu tham khảo từ Internet                                                     Trang 1
HƯỚNG DẪN
Bước 1: Nhắp chuột vào nút Show All Files trên cửa sở Solution Explorer để hiện tất cả các
file. Sau đó nhắp chuột vào dấu + bên trái thư mục My Project sẽ thấy xuất hiện tập tin
Settings.settings.




Bước 2: Công việc tiếp theo mà chúng ta hãy sử dụng tập tin Settings.settings này để tạo
chuỗi kết nối cho ứng dụng, việc này rất có ý nghĩa nếu bạn muốn xây dựng một ứng dụng
thương mại sau này. Hãy tập thói quen sử dụng kiểu kết nối như tôi giới thiệu sau đâu để thấy
tính hiệu quả của chúng các bạn nhé!
Nào, bây giờ hãy nhắp chuột 2 phát vào tập tin Settings.settings để mở chúng ra thôi, xem có
gì trong đó mà tôi tiếp thị từ nãy giờ.




Bạn hãy thiết lập giá trị cho thuộc tính kết nối như hình trên, sau đó Save lại.
Name: MySqlConnString
Type: (Connection String)                                                        :
Scope: Application
Value: Data Source=.SqlExpress;Initial Catalog=QuanLyKho;Integrated Security=True
(Giá trị Value có thể khác tùy thuộc vào bạn muốn kết nối theo tài khoản SQL hay không)
Bây giờ bạn có thể nhắp chuột vào nút Show All Files một lần nữa để dấu đi những gì bạn
không muốn thay đổi.

Bước 3: Vào Microsoft SQL Server 2005, mở cơ sở dữ liệu QuanLyKho ra tạo một thủ tục
(Stored Procedures) với cú pháp như sau (nhớ Execute nhé bạn!):
CREATE PROCEDURE sp_DanhSachHangHoa (@MaLoai nvarchar(5))
AS
BEGIN
SELECT tblLoaiHangHoa.MaLoai, tblLoaiHangHoa.TenLoai, tblHangHoa.HangHoaID,
tblHangHoa.TenHH, tblHangHoa.MaHieu, tblHangHoa.DVT
FROM tblHangHoa INNER JOIN tblLoaiHangHoa ON tblHangHoa.MaLoai =
tblLoaiHangHoa.MaLoai
WHERE tblLoaiHangHoa.MaLoai=@MaLoai
END

Bước 4: Quay trở lại môi trường MS Visual Studio .NET, tạo một Crystal Report, đặt tên là
rptDanhSachHangHoa.rpt, lấy dữ liệu nguồn từ thủ tục sp_DanhSachHangHoa đã viết ở Bước
3. Các bước thực hiện như sau:

- Bước 4.1: Chọn Using the Report Wizard




                                  Nhấn OK để tiếp tục

- Bước 4.2: Vào Create New Connection      OLE DB (ADO)      Microsoft OLE DB for SQL
Server.
Nhấn Next để tiếp tục.

- Bước 4.3: Nhập vào Server và chọn Database như hình sau:




 Nhấn Next để tiếp tục, sau đó Finish để hoàn thành việc kết nối, cửa sổ sau xuất hiện:
- Bước 4.4: Vào QuanLyKho dbo        Stored Procedures   add sp_DanhSachHangHoa vào
cửa sổ bên phải như hình dưới đây:




                                Nhấn Next để tiếp tục.

- Bước 4.5: Đưa toàn bộ các trường của thủ tục sp_DanhSachHangHoa sang cửa sổ bên phải




               Nhấn Next     Next… để tiếp tục (hoặc Finish để hoàn tất)
- Bước 4.6: Trang điểm lại cho em Report đẹp hơn một tí đi nào:




- Bước 5: Tạo form mới, đặt tên là frmDanhSachHangHoa, thiết lập thuộc tính WindowState
của form là Maximized, đưa vào form một điều khiển CrystalReportViewer (đặt tên là
CrystalReportViewer1).
- Bước 6: Tạo form mới, đặt tên là frmChonLoaiHang:




Thêm vào form các điều khiển và đặt tên cho các điều khiển như sau:
                           Loại điều khiển Tên điều khiển
                          ComboBox            cboMaLoai
                          DataGridView        DataGridView1
                          Button              btnIn

- Bước 7: Viết thủ tục và các sự kiện cho form frmChonLoaiHang như sau:
Imports System.Data.SqlClient
Public Class frmChonLoaiHang
    'Khai bao cac bien dung chung cho lop
    Private conn As New SqlConnection
    Private cmd As New SqlCommand
    Private ds As New DataSet

    'Dinh nghia thu tuc nao danh muc loai hang hoa
    Private Sub NapLoaiHangHoa()
        Dim da As New SqlDataAdapter("Select * From tblLoaiHangHoa", conn)
        Dim dt As New DataTable
        da.Fill(dt)
        Me.cboMaLoai.DataSource = dt
        Me.cboMaLoai.ValueMember = "MaLoai"
        Me.cboMaLoai.DisplayMember = "TenLoai"
    End Sub

    'Dinh nghia thu tuc loc hang hoa theo loai hang hoa
    Private Sub LocHangHoa()
        If Me.cboMaLoai.ValueMember <> "" Then
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "sp_DanhSachHangHoa"
            cmd.Parameters.Clear()
            cmd.Parameters.AddWithValue("@MaLoai", Me.cboMaLoai.SelectedValue)
            Dim da As New SqlDataAdapter
            da.SelectCommand = cmd
            ds.Clear()
da.Fill(ds, "DanhSachHangHoa")
           Me.DataGridView1.DataSource =
       ds.Tables("DanhSachHangHoa") End If
   End Sub


     Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As
                                  System.EventArgs) Handles btnIn.Click
       'Nap du lieu cho Report
       Dim myReport As New rptDanhSachHangHoa
       myReport.SetDataSource(ds.Tables("DanhSachHangHoa"))
       'Nap form in report
       Dim f As New frmDanhSachHangHoa
       f.CrystalReportViewer1.ReportSource = myReport
       f.ShowDialog()
   End Sub

   Public Sub New()
       ' This call is required by the Windows Form Designer.
       InitializeComponent()
       ' Add any initialization after the InitializeComponent() call.
       conn.ConnectionString = My.Settings.mySqlConnString
       conn.Open()
       cmd.Connection = conn
       Call NapLoaiHangHoa()
       Call LocHangHoa()
   End Sub

   Private Sub cboMaLoai_SelectedIndexChanged(ByVal sender As System.Object,
           ByVal e As System.EventArgs) Handles
           cboMaLoai.SelectedIndexChanged

     Call LocHangHoa()
   End Sub

End Class

Còn bây giờ, chúng ta còn chần chừ gì nữa nào, hãy nhấn Start tận hưởng
sản phẩm của mình đi nè! Có mã nguồn kèm theo, các bạn có thể tham
khảo thêm.
Chúc các bạn thành công!!!

Mais conteúdo relacionado

Mais de Ly hai

Lap rap va_cai_dat
Lap rap va_cai_datLap rap va_cai_dat
Lap rap va_cai_datLy hai
 
Bai1 Mang truyen so lieu va chuan hoa
Bai1 Mang truyen so lieu va chuan hoaBai1 Mang truyen so lieu va chuan hoa
Bai1 Mang truyen so lieu va chuan hoaLy hai
 
Cài đặt mạng bootroom
Cài đặt mạng bootroomCài đặt mạng bootroom
Cài đặt mạng bootroomLy hai
 
6 he thong xuat nhap
6 he thong xuat nhap6 he thong xuat nhap
6 he thong xuat nhapLy hai
 
4 ky thuat xu ly tt
4 ky thuat xu ly tt4 ky thuat xu ly tt
4 ky thuat xu ly ttLy hai
 
3 To chuc bo vi xu ly
3 To chuc bo vi xu ly3 To chuc bo vi xu ly
3 To chuc bo vi xu lyLy hai
 
2 kien truc phan mem
2 kien truc phan mem2 kien truc phan mem
2 kien truc phan memLy hai
 
1 Tong quan máy tính
1 Tong quan máy tính1 Tong quan máy tính
1 Tong quan máy tínhLy hai
 
7 can ban assembly
7 can ban assembly7 can ban assembly
7 can ban assemblyLy hai
 
5 bo nho may tinh
5 bo nho may tinh5 bo nho may tinh
5 bo nho may tinhLy hai
 
Giao trinh phan cung
Giao trinh phan cung Giao trinh phan cung
Giao trinh phan cung Ly hai
 
Bai giang asp.net full
Bai giang asp.net fullBai giang asp.net full
Bai giang asp.net fullLy hai
 
Hung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xHung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xLy hai
 
Ktmt kt c1_c2
Ktmt kt c1_c2Ktmt kt c1_c2
Ktmt kt c1_c2Ly hai
 
Hephantan
HephantanHephantan
HephantanLy hai
 
Phan2 chuong8 chuoikitu
Phan2 chuong8 chuoikituPhan2 chuong8 chuoikitu
Phan2 chuong8 chuoikituLy hai
 
Phan2 chuong6 mang
Phan2 chuong6 mangPhan2 chuong6 mang
Phan2 chuong6 mangLy hai
 
Phan2 chuong5 ctrinhcon
Phan2 chuong5 ctrinhconPhan2 chuong5 ctrinhcon
Phan2 chuong5 ctrinhconLy hai
 
Phan2 chuong4 caclenhcautruc
Phan2 chuong4 caclenhcautrucPhan2 chuong4 caclenhcautruc
Phan2 chuong4 caclenhcautrucLy hai
 
Phan2 chuong1 gioithieu_c
Phan2 chuong1 gioithieu_cPhan2 chuong1 gioithieu_c
Phan2 chuong1 gioithieu_cLy hai
 

Mais de Ly hai (20)

Lap rap va_cai_dat
Lap rap va_cai_datLap rap va_cai_dat
Lap rap va_cai_dat
 
Bai1 Mang truyen so lieu va chuan hoa
Bai1 Mang truyen so lieu va chuan hoaBai1 Mang truyen so lieu va chuan hoa
Bai1 Mang truyen so lieu va chuan hoa
 
Cài đặt mạng bootroom
Cài đặt mạng bootroomCài đặt mạng bootroom
Cài đặt mạng bootroom
 
6 he thong xuat nhap
6 he thong xuat nhap6 he thong xuat nhap
6 he thong xuat nhap
 
4 ky thuat xu ly tt
4 ky thuat xu ly tt4 ky thuat xu ly tt
4 ky thuat xu ly tt
 
3 To chuc bo vi xu ly
3 To chuc bo vi xu ly3 To chuc bo vi xu ly
3 To chuc bo vi xu ly
 
2 kien truc phan mem
2 kien truc phan mem2 kien truc phan mem
2 kien truc phan mem
 
1 Tong quan máy tính
1 Tong quan máy tính1 Tong quan máy tính
1 Tong quan máy tính
 
7 can ban assembly
7 can ban assembly7 can ban assembly
7 can ban assembly
 
5 bo nho may tinh
5 bo nho may tinh5 bo nho may tinh
5 bo nho may tinh
 
Giao trinh phan cung
Giao trinh phan cung Giao trinh phan cung
Giao trinh phan cung
 
Bai giang asp.net full
Bai giang asp.net fullBai giang asp.net full
Bai giang asp.net full
 
Hung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xHung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.x
 
Ktmt kt c1_c2
Ktmt kt c1_c2Ktmt kt c1_c2
Ktmt kt c1_c2
 
Hephantan
HephantanHephantan
Hephantan
 
Phan2 chuong8 chuoikitu
Phan2 chuong8 chuoikituPhan2 chuong8 chuoikitu
Phan2 chuong8 chuoikitu
 
Phan2 chuong6 mang
Phan2 chuong6 mangPhan2 chuong6 mang
Phan2 chuong6 mang
 
Phan2 chuong5 ctrinhcon
Phan2 chuong5 ctrinhconPhan2 chuong5 ctrinhcon
Phan2 chuong5 ctrinhcon
 
Phan2 chuong4 caclenhcautruc
Phan2 chuong4 caclenhcautrucPhan2 chuong4 caclenhcautruc
Phan2 chuong4 caclenhcautruc
 
Phan2 chuong1 gioithieu_c
Phan2 chuong1 gioithieu_cPhan2 chuong1 gioithieu_c
Phan2 chuong1 gioithieu_c
 

Tạo Crystal Report Trong Vb Net

  • 1. Website: http://itctu.com Sinh viên CNTT ĐHCT BÀI TẬP THỰC HÀNH: LẬP TRÌNH WINDOWS 2 BÀI SỐ 01: Sử dụng cơ sở dữ liệu MS SQL Server (2005) quản lý kho (có file .zip kèm theo): Sử dụng MS Visual Studio .NET 2005/2008, thiết kế form cho phép chọn và lọc danh sách hàng hóa theo loại hàng hóa như sau: Yêu cầu: + Khi chọn danh sách loại hàng hóa, các mặt hàng có cùng chủng loại sẽ được lọc trong DataGridView bên dưới. + Khi nhấn nút IN DANH SÁCH HÀNG HÓA, kết quả sẽ được xuất ra report: Tài liệu tham khảo từ Internet Trang 1
  • 2. HƯỚNG DẪN Bước 1: Nhắp chuột vào nút Show All Files trên cửa sở Solution Explorer để hiện tất cả các file. Sau đó nhắp chuột vào dấu + bên trái thư mục My Project sẽ thấy xuất hiện tập tin Settings.settings. Bước 2: Công việc tiếp theo mà chúng ta hãy sử dụng tập tin Settings.settings này để tạo chuỗi kết nối cho ứng dụng, việc này rất có ý nghĩa nếu bạn muốn xây dựng một ứng dụng thương mại sau này. Hãy tập thói quen sử dụng kiểu kết nối như tôi giới thiệu sau đâu để thấy tính hiệu quả của chúng các bạn nhé! Nào, bây giờ hãy nhắp chuột 2 phát vào tập tin Settings.settings để mở chúng ra thôi, xem có gì trong đó mà tôi tiếp thị từ nãy giờ. Bạn hãy thiết lập giá trị cho thuộc tính kết nối như hình trên, sau đó Save lại. Name: MySqlConnString Type: (Connection String) : Scope: Application Value: Data Source=.SqlExpress;Initial Catalog=QuanLyKho;Integrated Security=True (Giá trị Value có thể khác tùy thuộc vào bạn muốn kết nối theo tài khoản SQL hay không)
  • 3. Bây giờ bạn có thể nhắp chuột vào nút Show All Files một lần nữa để dấu đi những gì bạn không muốn thay đổi. Bước 3: Vào Microsoft SQL Server 2005, mở cơ sở dữ liệu QuanLyKho ra tạo một thủ tục (Stored Procedures) với cú pháp như sau (nhớ Execute nhé bạn!): CREATE PROCEDURE sp_DanhSachHangHoa (@MaLoai nvarchar(5)) AS BEGIN SELECT tblLoaiHangHoa.MaLoai, tblLoaiHangHoa.TenLoai, tblHangHoa.HangHoaID, tblHangHoa.TenHH, tblHangHoa.MaHieu, tblHangHoa.DVT FROM tblHangHoa INNER JOIN tblLoaiHangHoa ON tblHangHoa.MaLoai = tblLoaiHangHoa.MaLoai WHERE tblLoaiHangHoa.MaLoai=@MaLoai END Bước 4: Quay trở lại môi trường MS Visual Studio .NET, tạo một Crystal Report, đặt tên là rptDanhSachHangHoa.rpt, lấy dữ liệu nguồn từ thủ tục sp_DanhSachHangHoa đã viết ở Bước 3. Các bước thực hiện như sau: - Bước 4.1: Chọn Using the Report Wizard Nhấn OK để tiếp tục - Bước 4.2: Vào Create New Connection OLE DB (ADO) Microsoft OLE DB for SQL Server.
  • 4. Nhấn Next để tiếp tục. - Bước 4.3: Nhập vào Server và chọn Database như hình sau: Nhấn Next để tiếp tục, sau đó Finish để hoàn thành việc kết nối, cửa sổ sau xuất hiện:
  • 5. - Bước 4.4: Vào QuanLyKho dbo Stored Procedures add sp_DanhSachHangHoa vào cửa sổ bên phải như hình dưới đây: Nhấn Next để tiếp tục. - Bước 4.5: Đưa toàn bộ các trường của thủ tục sp_DanhSachHangHoa sang cửa sổ bên phải Nhấn Next Next… để tiếp tục (hoặc Finish để hoàn tất)
  • 6. - Bước 4.6: Trang điểm lại cho em Report đẹp hơn một tí đi nào: - Bước 5: Tạo form mới, đặt tên là frmDanhSachHangHoa, thiết lập thuộc tính WindowState của form là Maximized, đưa vào form một điều khiển CrystalReportViewer (đặt tên là CrystalReportViewer1).
  • 7. - Bước 6: Tạo form mới, đặt tên là frmChonLoaiHang: Thêm vào form các điều khiển và đặt tên cho các điều khiển như sau: Loại điều khiển Tên điều khiển ComboBox cboMaLoai DataGridView DataGridView1 Button btnIn - Bước 7: Viết thủ tục và các sự kiện cho form frmChonLoaiHang như sau: Imports System.Data.SqlClient Public Class frmChonLoaiHang 'Khai bao cac bien dung chung cho lop Private conn As New SqlConnection Private cmd As New SqlCommand Private ds As New DataSet 'Dinh nghia thu tuc nao danh muc loai hang hoa Private Sub NapLoaiHangHoa() Dim da As New SqlDataAdapter("Select * From tblLoaiHangHoa", conn) Dim dt As New DataTable da.Fill(dt) Me.cboMaLoai.DataSource = dt Me.cboMaLoai.ValueMember = "MaLoai" Me.cboMaLoai.DisplayMember = "TenLoai" End Sub 'Dinh nghia thu tuc loc hang hoa theo loai hang hoa Private Sub LocHangHoa() If Me.cboMaLoai.ValueMember <> "" Then cmd.CommandType = CommandType.StoredProcedure cmd.CommandText = "sp_DanhSachHangHoa" cmd.Parameters.Clear() cmd.Parameters.AddWithValue("@MaLoai", Me.cboMaLoai.SelectedValue) Dim da As New SqlDataAdapter da.SelectCommand = cmd ds.Clear()
  • 8. da.Fill(ds, "DanhSachHangHoa") Me.DataGridView1.DataSource = ds.Tables("DanhSachHangHoa") End If End Sub Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIn.Click 'Nap du lieu cho Report Dim myReport As New rptDanhSachHangHoa myReport.SetDataSource(ds.Tables("DanhSachHangHoa")) 'Nap form in report Dim f As New frmDanhSachHangHoa f.CrystalReportViewer1.ReportSource = myReport f.ShowDialog() End Sub Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. conn.ConnectionString = My.Settings.mySqlConnString conn.Open() cmd.Connection = conn Call NapLoaiHangHoa() Call LocHangHoa() End Sub Private Sub cboMaLoai_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboMaLoai.SelectedIndexChanged Call LocHangHoa() End Sub End Class Còn bây giờ, chúng ta còn chần chừ gì nữa nào, hãy nhấn Start tận hưởng sản phẩm của mình đi nè! Có mã nguồn kèm theo, các bạn có thể tham khảo thêm. Chúc các bạn thành công!!!