• Home
  • Contact

Kênh tư vấn

  • Beranda
  • Profil
  • Jurnal
    • 2000
    • 2001
    • 2002
      • 21 April
      • 22 April
      • 23 April
        • Senin
        • Selasa
        • Rabu
        • Kamis
      • 24 April
      • 25 April
    • 2003
    • 2004
  • Komentar
  • Kontak
Beranda » Tài liệu CNTT » Đề thi học kỳ: Code quản lý nhân sự băng C#

Đề thi học kỳ: Code quản lý nhân sự băng C#

ĐỀ BÀI
Người ta muốn ứng dụng tin học để quản lý nhân sự của 1 doanh nghiệp. Là một lập trình viên, anh (chị) hãy thực hiện các yêu cầu sau đây:

Câu 1:

Sử dụng hệ quản trị cơ sở dữ liệu SQL Server, tạo 1 database có tên là QLNHANSU gồm 2 bảng sau:
- PHONGBAN(mapb, tenpb)
- NHANVIEN(manv, tennv, ngaysinh, sodt, mapb)

* Yêu cầu:

- Chọn kiểu dữ liệu và kích thướt của các trường trong các bảng mà theo sinh viên là phù hợp nhất (0.5 điểm).
- Thiết lập quan hệ cho các bảng trong CSDL (0.5 điểm).
- Nhập ít nhất 3 bản ghi cho bảng PHONGBAN và 5 bản ghi cho bảng NHANVIEN (0.5 điểm).

Câu 2:

Tạo 1 project đặt tên là QLNHANSU với giao diện như hình bên dưới (2 điểm):


Câu 3: (6,5 điểm)
Viết mã lệnh cho chương trình để thực hiện được các yêu cầu sau:

1. Khi chương trình vừa thực thi thì hiển thị toàn bộ tenpb trong bảng PHONGBAN vào ListBox Danh sách phòng ban, các nút: Chấp nhận, Hủy bỏ ở trạng thái không kích hoạt được. Các nút này chỉ có thể kích hoạt khi đang thêm mới hoặc sửa đổi dữ liệu của 1 bản ghi (1.5 điểm).

2. Khi chọn 1 phòng ban bất kỳ trong ListBox Danh sách phòng ban thì hiển thị toàn bộ thông tin về nhân viên của phòng ban tương ứng vào DataGridView Danh sách nhân viên (0.5 điểm) và các TextBox (1 điểm) hiển thị thông tin tương ứng của dòng đầu tiên (nếu có) trong DataGridView, hoặc khi kích vào 1 dòng bất kỳ trong DataGridView.

3. Khi nhấn nút Thêm mới, hay nút Sửa đổi thì chuyển sang chế độ thêm mới hoặc sửa đổi (0.5 điểm).

4. Khi nhấn nút Chấp nhận (1 điểm) hoặc Hủy bỏ (0.5 điểm) thì thực hiện hoặc hủy bỏ thao tác thêm mới hay sửa đổi ngay trước đó.

5. Khi nhấn nút Thoát, đưa ra một MessageBox với nội dung “Bạn có muốn đóng chương trình không?”, nếu chọn nút Yes thì đóng, ngược lại thì không (0.5 điểm).

6. Khi nhấn nút Xóa, đưa ra MessageBox với nội dung “Bạn có chắc chắn xóa nhân viên này không?”, nếu chọn Yes thì thhực hiện xóa nhân viên hiện tại, ngược lại thì không xóa (1 điểm).

Bài Làm:
Đầu tiên tạo 1 class ketnoi(kết nối) với code sau
[CODE]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace QLNHANSU
{
    public static class ketnoi
    {
       
        public static string chuoiketnoi = @"Data Source=.\SQLEXPRESS;Initial Catalog=QLNHANSU;Integrated Security=True";
        public static SqlConnection con;
        public static SqlCommand cmd;
        public static SqlDataAdapter da;

        public static void openketnoi()
        {
            con = new SqlConnection(chuoiketnoi);
            con.Open();
        }
        public static void dongketnoi()
        {
            con.Close();
        }
        // phuong thuc get
        public static DataTable gettable(string sql)
        {
            cmd = new SqlCommand(sql, con);
            da = new SqlDataAdapter(cmd);
            DataTable db = new DataTable();
            da.Fill(db);
            return db;
        }
        public static void executeQuery(string sql)
        {
            cmd = new SqlCommand(sql, con);
            cmd.ExecuteNonQuery();
        }
    }
}

[/CODE]

CODE From

[CODE]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace QLNHANSU
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string ma = lbdspb.SelectedValue.ToString();
            dtgvpb.DataSource = ketnoi.gettable("select *from nhanvien where nhanvien.mapb='"+ma+"'");
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            load();
        }
        public void load()
        {
            ketnoi.openketnoi();
            //load listBox
            lbdspb.DataSource = ketnoi.gettable("select *from phongban");
            lbdspb.DisplayMember = "tenpb";
            lbdspb.ValueMember = "mapb";

            //Load DataGridView
            dtgvpb.DataSource = ketnoi.gettable("select *from nhanvien");

            bntChapNhan.Enabled = false;
            bntHuy.Enabled = false;
            ketnoi.dongketnoi();
        }

        // Khi click vào 1 dòng bất kỳ trong DataGridView hiện lên TextBox
        private void dtgvpb_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int t = dtgvpb.CurrentCell.RowIndex;
            tbMaNV.Text = dtgvpb.Rows[t].Cells[0].Value.ToString();
            tbTenNV.Text = dtgvpb.Rows[t].Cells[1].Value.ToString();
            tbNgaySinh.Text = dtgvpb.Rows[t].Cells[2].Value.ToString();
            tbDT.Text = dtgvpb.Rows[t].Cells[3].Value.ToString();
            tbMaPB.Text = dtgvpb.Rows[t].Cells[4].Value.ToString();
        }
        private int chon = 0;
        //Button sửa
        private void bntSua_Click(object sender, EventArgs e)
        {
            chon = 2;
            bntChapNhan.Enabled = true;
            bntHuy.Enabled = true;

        }
        //Button thêm
        private void bntThem_Click_1(object sender, EventArgs e)
        {
            
            chon = 1;
            bntChapNhan.Enabled = true;
            bntHuy.Enabled = true;

        }
        //Button thoát
        private void bntThoat_Click(object sender, EventArgs e)
        {
            DialogResult = MessageBox.Show("Bạn có muốn thoát không?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            if (DialogResult == DialogResult.OK)
            {
                Application.Exit();
            }

        }
        //Button xóa
        private void bntXoa_Click(object sender, EventArgs e)
        {
            DialogResult = MessageBox.Show("Bạn có chắc muốn xóa!", "Thông báo",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
            if (DialogResult == DialogResult.OK)
            {
                ketnoi.openketnoi();
                ketnoi.executeQuery("delete from nhanvien where manv='" + dtgvpb.Rows[dtgvpb.CurrentCell.RowIndex].Cells[0].Value.ToString() + "' ");
                load();
                ketnoi.dongketnoi();
            }
        }
        //Button chấp nhận
        private void bntChapNhan_Click(object sender, EventArgs e)
        {
            if (chon == 1) // gọi Button Thêm-kenhdaihoc.com
            {
                ketnoi.openketnoi();
                ketnoi.executeQuery("insert into nhanvien values('" + tbMaNV.Text + "','" + tbTenNV.Text + "','" + DateTime.Parse(tbNgaySinh.Text) + "','" + int.Parse(tbDT.Text) + "','" + tbMaPB.Text + "')");
                load();
                bntChapNhan.Enabled = true;
                bntHuy.Enabled = true;
            }
            else if (chon == 2)// gọi Button Sửa -kenhdaihoc.com
            {
                ketnoi.openketnoi();
                ketnoi.executeQuery("update nhanvien set manv='"+tbMaNV.Text+"',tennv='" + tbTenNV.Text + "',ngaysinh='" + DateTime.Parse(tbNgaySinh.Text) + "',sodt='" + int.Parse(tbDT.Text) + "',mapb='" + tbMaPB.Text + "' where manv='"+dtgvpb.Rows[dtgvpb.CurrentCell.RowIndex].Cells[0].Value.ToString()+"'");
                load();
                bntChapNhan.Enabled = true;
                bntHuy.Enabled = true;
            }
            else
            {
                chon = 0;
            }
            
        }
        //Button Hủy - kenhdaihoc.com
        private void bntHuy_Click(object sender, EventArgs e)
        {
            chon = 0;
        }

    }
}

[/CODE]

DEMO chương trình


Download code+data

http://upfile.vn/19qz
Hoặc
http://www.mediafire.com/?ho02xoa6sghs9d3
wWw.kenhdaihoc.com
Unknown
Add Comment
Tài liệu CNTT
Thứ Hai, 3 tháng 12, 2012
Tweet
Đề thi học kỳ: Code quản lý nhân sự băng C# Kênh tư vấn
Published: 2012-12-03T15:41:00-08:00
Title:Đề thi học kỳ: Code quản lý nhân sự băng C#
Rating: 5 On 22 reviews

Related Articles

Không có nhận xét nào:

Đăng nhận xét

Newer Older Home

Entri Populer

  • Popular Posts
    Thêm,sửa,xóa,chấp nhận,hủy,thoát trong C# có CSDL
    ĐỀ BÀI Người ta muốn ứng dụng tin học để quản lý nhân sự của 1 doanh nghiệp. Là một lập trình viên, anh (chị) hãy thực hiện các yêu cầu sau ...
  • Popular Posts
    Bản quyền miễn phí Full Uninstall 2.10 trị giá $29,95
    Một vấn đề phổ biến chúng ta thường gặp phải khi gỡ bỏ phần mềm đó là sự tồn tại không cần thiết của các tập tin rác, các mục Registry,… Thậ...
  • Popular Posts
    Lazyload Jquery làm mượt ảnh và ảnh sẽ load nhanh hơn
    Giới thiệu:  Kéo tới đâu ảnh mới bắt đầu load tới đó, giảm thời gian tải ảnh. Mặc định blog khi load, sẽ load tất cả các ảnh và thành phần c...
  • Popular Posts
    Tổng hợp Thủ thuật blogspot
    Để Blog của bạn đẹp hơn và chuyên nghiệp hơn mình xin giới thiệu các bạn 1 kho theme  cũng như thủ thuật mà mình sưu tầm từ khắp nơi... các ...
  • Popular Posts
    Đáp án đề thi đại học môn Toán khối A1 năm 2012
    Đáp án đề thi Đại Học - Cao Đẳng năm 2012 đã được cập nhật nhanh nhất tại đây  Đáp án đề thi đại học môn Toán khối A1 năm 2012  Đáp án đề th...
  • Code chèn nền Flash (hoa rơi, tuyết rơi,…) cho blogspot
    Giới thiệu:  Với đoạn code này, blog bạn sẽ có thêm một lớp nền Flash phủ lên bề mặt blog, hoặc nằm ẩn dưới nền blog chính. Chức năng chủ yế...
  • Tổng hợp Thủ thuật máy tính
    Tất cã thủ thuật được tổng hợp và đăng tại đây Thủ thuật Win XP Thủ thuật Win 7 , 8 Thủ thuật Laptop
  • Popular Posts
    Tạo dáng cho trỏ chuột với hình ảnh bất kỳcho blogspot
    Giới thiệu: Hiệu ứng JavaScript này cho phép bạn tạo dáng cho con trỏ chuột trên trang web. Điểm đặc biệt của là nó cho phép bạn sử dụng hìn...
  • Hướng dẩn Tạo khung thông báo cho blog
    Giới thiệu:  Khi truy nhập vào blog, một hộp thoại thông báo sẽ xuất hiện. Có thể là thông báo về một sự kiện nào đó (ví dụ như chuyển domai...
  • Popular Posts
    Hot girl xinh đẹp nhất Sài thành
    Hotgirl Tâm Tít, hotgirl Midu, hotgirl Khả Ngân, hotgirl Sam, hotgirl Kelly là những hot girl xinh đẹp và tài năng trong làng showbiz wWw....
Copyright Mas Bintang | SJUTA IT