Hướng Dẫn Thực Hành Winform - phần 4 ADO.NET (tt)
lượt xem 152
download
Tham khảo tài liệu 'hướng dẫn thực hành winform - phần 4 ado.net (tt)', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Hướng Dẫn Thực Hành Winform - phần 4 ADO.NET (tt)
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng HƯ NG D N TH C HÀNH TU N 4 Ch : ADO.NET (tt) Ph n 1: Các thao tác k t n i ADO.NET s d ng c u trúc dòng l nh v i namespace System.Data (tt). 1. Thi t k CSDL: a. S d ng l i CSDL c a tu n trư c (QLHOCSINH.mdb) HOCSINH STT Tên trư ng Ki u d li u Ghi chú 1 MaHS Text(10) PrimaryKey 2 TenHS Text(255) 3 NgaySinh Date/Time 4 DiaChi Text(255) 5 DTB Number 6 MaLop Text(10) ForeignKey (tham chi u n Lop(MaLop) LOP STT Tên trư ng Ki u d li u Ghi chú 1 MaLop Text(10) PrimaryKey 2 TenLop Text(255) 3 SiSo Number 2. S d ng l i ng d ng ã ư c hư ng d n trong tu n 3: Thi t k l i Form “Nh p thông tin h c sinh” như màn hình sau:
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng K t qu màn hình khi ch y: DataGridView
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng Vi t hàm load danh sách h c sinh vào DataGridView Ta vi t hàm getDSHocSinh có nhi m v tr v b ng thông tin h c sinh như sau: - private DataTable getDSHocSinh() { adapter = new OleDbDataAdapter("Select h.MaHS, h.TenHS, h.NgaySinh, h.DiaChi, h.DiemTB, l.TenLop From HOCSINH h, LOP l Where h.MaLop=l.MaLop", connection); dataSet = new DataSet(); adapter.Fill(dataSet); return dataSet.Tables[0]; } - Trong s ki n form load, ta g i hàm getDSHocSinh và gán k t qu cho datasource c a DataGridView private void Form1_Load(object sender, EventArgs e) { connect("E:/DH_HUFLIT/XDPMHDT/DeCuong_HuongDan_ThucHanh/HocSinh.mdb"); //Load d li u vào comboBox L p cboLop.DataSource = getDSLop(); // Column s ư c hi n th cboLop.DisplayMember = "TenLop"; ã hư ng d n trong tu n 3 // Column s ư c gi giá tr cboLop.ValueMember = "MaLop"; //Load danh sách h c sinh lên lư i dgHocSinh.DataSource = getDSHocSinh(); // nh d ng lư i nh d ng lư i hi n th DinhDangLuoi(); } danh sách h c sinh Hàm DinhDangLuoi như sau: private void DinhDangLuoi() { dgHocSinh.ReadOnly = true; dgHocSinh.Columns[0].HeaderText = "Mã HS"; dgHocSinh.Columns[0].Width = 70; dgHocSinh.Columns[1].HeaderText = "Tên HS"; dgHocSinh.Columns[1].Width = 150; dgHocSinh.Columns[2].HeaderText = "Ngày sinh"; dgHocSinh.Columns[2].Width = 90; dgHocSinh.Columns[3].HeaderText = " a ch "; dgHocSinh.Columns[3].Width = 200; dgHocSinh.Columns[4].HeaderText = " i m TB"; dgHocSinh.Columns[4].Width = 80; dgHocSinh.Columns[5].HeaderText = "L p"; dgHocSinh.Columns[5].Width = 80; }
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng Khi ngư i dùng ch n m t row (ch n 1 h c sinh) trên lư i hi n th thông tin h c sinh v a ch n lên các control trên form ch nh s a và c p nh t thông tin. V y gi i pháp x lý ??? Sinh viên c n ph i Tìm hi u các s ki n phát sinh trên lư i DataGridView Trong trư ng h p này chúng ta x lý s ki n SelectionChanged: private void dgHocSinh_SelectionChanged(object sender, EventArgs e) { DataGridViewSelectedRowCollection rows = dgHocSinh.SelectedRows; if (rows.Count > 0) { DataGridViewRow row = rows[0]; txtMaHS.Text = row.Cells["MaHS"].Value.ToString(); txtTenHS.Text = row.Cells["TenHS"].Value.ToString(); if (row.Cells["NgaySinh"].Value.ToString().Length>0) dtNgaySinh.Value = DateTime.Parse(row.Cells["NgaySinh"].Value.ToString()); txtDiaChi.Text = row.Cells["DiaChi"].Value.ToString(); txtDiemTB.Text = row.Cells["DiemTB"].Value.ToString(); cboLop.Text = row.Cells["TenLop"].Value.ToString(); } } Sinh viên ph i x lý Khi ti n hành lưu thông tin c a m t h c sinh vào b ng HOCSINH ph i ki m tra xem có t n t i h c sinh này trong CSDL chưa? - N u chưa có thì insert (thêm m i) - N u t n t i thì update (c p nh t, s a)
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng Khó khăn g p ph i c a ngư i dùng: ph i chép file HOCSINH.mdb vào úng v trí ã s d ng trong chương trình. Nghĩa là ư ng d n k t n i n CSDL c nh connect("E:/DH_HUFLIT/XDPMHDT/DeCuong_HuongDan_ThucHanh/HocSinh.mdb"); N u trên máy tính không t n t i ư ng d n này s phát sinhh l i và d ng chương trình. Gi i pháp kh c ph c tình tr ng này ??? Cho phép ngư i dùng ch ra ư ng d n v t lý lưu tr CSDL (ch n ư ng d n lưu tr CSDL) Bư c 1: Add thêm m t form m i (frmSelectPath) vào Project Thi t k giao di n cho Form m i như sau:
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng Form “frmSelectPath” ph i ư c ch y u tiên ???
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng Trong class Form1.cs khai báo bi n sPathFilename như sau: public static string sPathFilename = ""; Vi t code cho s ki n khi ngư i dùng ch n File : private void btnOK_Click(object sender, EventArgs e) { //Filter file openFileDialog1.Filter = "File (*.mdb)|*.mdb"; //Không cho phép ch n nhi u file openFileDialog1.Multiselect = false; //Set caption cho dialog openFileDialog1.Title = "Chon CSDL"; //Set tên file m c nh openFileDialog1.FileName = "HOCSINH.mdb"; //Hi n th h p tho i DialogResult dgResult = openFileDialog1.ShowDialog(); if (dgResult == DialogResult.OK) txtFile.Text = openFileDialog1.FileName; } Vi t code cho s ki n button “Load”: private void btnLoad_Click(object sender, EventArgs e) { Form1.sPathFilename = txtFile.Text; Form1 frm = new Form1(); this.Hide(); frm.ShowDialog(); }
- Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng Như v y, trong Form1 chúng ta s a l i như sau: - Trong s ki n Form1_Load thay dòng l nh connect("E:/DH_HUFLIT/XDPMHDT/DeCuong_HuongDan_ThucHanh/HocSinh.mdb"); B ng dòng l nh sau: connect(sPathFilename); - Trong s ki n thoát ph i dùng l nh: Application.Exit(); thoát ng d ng ( b i vì dùng óng 1 form) this.Close() Sinh viên phát tri n ti p hoàn thi n chương trình 3. Bài t p: a. Ki m tra các ràng bu c v d li u b. Tìm hi u các s ki n c a DataGridView c. C i ti n màn hình giao di n nh p thông tin h c sinh ngư i dùng thao tác ti n l i và th t nhanh chóng i. Thi t k l i giao di n cho phép nh p danh sách h c sinh tr c ti p trên lư i (tư ng t như nh p li u trên file Excel) ii. Tìm hi u vi c add m t s control vào các c t trên DataGridView (Ví d : c t ngày sinh ph i add control “ch n ngày tháng năm”, c t L p ph i add control “ComboBox” và load d li u vào comboBox cho phép ch n l a trong khi nh p li u . iii. …
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn thực hành Winforms với C#
8 p | 778 | 245
-
Hướng Dẫn Thực Hành Winform với C# - phần 1
6 p | 579 | 194
-
Hướng Dẫn Thực Hành Winform với C# - phần 1 (tt)
5 p | 506 | 170
-
Hướng Dẫn Thực Hành Winform - phần 8 Hướng dẫn Crystal Report – Tạo báo cáo)
13 p | 476 | 170
-
Hướng Dẫn Thực Hành Winform - phần 3 ADO.NET
5 p | 454 | 157
-
Hướng Dẫn Thực Hành Winform - phần 7 Thiết kế và xây dựng phần mềm theo mô hình 3 tầng xử lý
8 p | 328 | 151
-
Hướng Dẫn Thực Hành Winform - phần 5 ADO.NET (tt)
8 p | 307 | 144
-
Hướng Dẫn Thực Hành Winform - phần 6 Thiết kế và xây dựng phần mềm theo mô hình 2 tầng xử lý
8 p | 389 | 140
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn