Bài tập ôn C Sharp
Viết code thêm 1 dòng dữ liệu: (“MS0001”, “C# - Step byStep”, “Jon Jagger”, “Microsoft Press”, 2004, “null”)
private void btnInsert_Click(object sender, EventArgs e)
{
// mở kết nối
m_cnn.Open();
// tạo câu insert
string sql = "Insert into tblMayTinh values ('MS0001', 'C# - Step byStep', 'Jon Jagger', 'Microsoft Press', 6920049, '')";
// đưa câu lệnh sql vào cmd
cmd = new SqlCommand(sql, m_cnn);
// thực thi câu lệnh sql
cmd.ExecuteNonQuery();
// đóng kết nối
m_cnn.Close();
}
olumns.Add("Tên phim"); dtDSDatVe.Columns.Add("Giờ chiếu"); dtDSDatVe.Columns.Add("Ngày chiếu"); dtDSDatVe.Columns.Add("Số vé"); this.dgvDSDatVe.DataSource = dtDSDatVe; // a.4/ hiển thị dữ liệu của dtDSDatVe lên dgv của dgvDSDatVe dtDSDatVe.Rows.Add("Nguyễn Văn A", "12345", "098", "Để mai tính", "18g", "03/06/2011", "2"); dtDSDatVe.Rows.Add("Nguyễn Thị B", "67890", "093", "Bão táp sa mạc", "20g", "30/05/2011", "5"); dgvDSDatVe.DataSource = dtDSDatVe; } b) // viết sự kiện validating cho tên khách hàng không được để trống private void txtKhachHang_Validating(object sender, CancelEventArgs e) { if (txtKhachHang.Text.Trim() == "") MessageBox.Show("Tên khách hàng không được để trống"); } // viết sự kiện validating cho địa chỉ không được để trống private void txtDiaChi_Validating(object sender, CancelEventArgs e) { if (txtDiaChi.Text.Trim() == "") MessageBox.Show("Địa chỉ không được để trống"); } // viết sự kiện validating cho ĐT phải là số hợp lệ, k có kí tự khác ngoài con số private void txtDienThoai_Validating(object sender, CancelEventArgs e) { // phải có hàm thư viện using System.Text.RegularExpressions; string pattern = @"^((\(\d{3}\) ?)|(\d{3}))?\d{3}\d{4}$"; // khai báo biểu thức chính qui Regex phone = new Regex(pattern); // khởi tạo đối tượng biểu thức chính qui if (phone.Match(txtDienThoai.Text).Success == false) MessageBox.Show("Bạn đã nhập sai số điện thoại, xin nhập lại!!!"); } c) // viết sự kiện cho btnDatVe, lấy thông tin trên form đưa vào dgvDSDatVe private void btnDatVe_Click(object sender, EventArgs e) { dtDSDatVe.Rows.Add(txtKhachHang.Text, txtDiaChi.Text, txtDienThoai.Text, cboTenPhim.Text, cboGioChieu.Text, dtpNgayChieu.Text, numSoVe.Value); this.dgvDSDatVe.DataSource = dtDSDatVe; } 2. Database PcData MayTinh Tên field Kiểu dữ liệu Mô tả MayMay Char(6) Mã máy tính TenMay Nvarchar(20) Tên máy tính NgaySX DateTime Ngày sản xuất GiaTien Float Giá tiền CauHinh Nvarchar(50) Mô tả cấu hình Khai báo: private SqlConnection m_cnn = null; private SqlDataAdapter m_da = new SqlDataAdapter(); private SqlCommand cmd = null; private DataSet m_ds = null; a) Cho biết chuỗi kết nối đến CSDL PCData, giả sử server SQL là SQLEXPRESS, chạy tại máy cục bộ string cnnStr = @"Data Source =.\SQLEXPRESS; Init Catalog = PCData; Integrated Security = True"; b) Giả sử có dgv là dgvMayTinh, viết code: lấy toàn bộ dữ liệu bảng MayTinh lên dgvMayTinh void KetNoiCSDL() { // tạo chuỗi kết nối string cnnStr = @"Data Source =.\SQLEXPRESS; Init Catalog = PCData; Integrated Security = True"; // tạo kết nối m_cnn = new SqlConnection(cnnStr); // mở kết nối m_cnn.Open(); // kiểm tra kết nối if (m_cnn.Open == ConnectionState.Open) MessageBox.Show("Kết nối thành công"); } private void Form1_Load(object sender, EventArgs e) { KetNoiCSDL(); // tạo câu lệnh sql string sql = "select * from tblMayTinh"; // khởi tạo adapter m_da = new SqlDataAdapter(sql, m_cnn); // khởi tạo nơi chứa dữ liệu m_ds = new DataSet(); // đưa dữ liệu bảng tblMayTinh vào dataset m_da.Fill(m_ds, "tblMayTinh"); dgvMayTinh.DataSource = m_ds.Tables["tblMayTinh"]; // hoặc có thể ghi bằng m_ds.Tables[0] } c) Viết code thêm 1 dòng dữ liệu: (“IBM001”, “IBMWorkStation”, 01/02/2010, 699, “null”) private void btnInsert_Click(object sender, EventArgs e) { // mở kết nối m_cnn.Open(); // tạo câu insert string sql = "Insert into tblMayTinh values ('IBM001', 'IBMWorkStation', 01/02/1990, 699, '')"; // đưa câu lệnh sql vào cmd cmd = new SqlCommand(sql, m_cnn); // thực thi câu lệnh sql cmd.ExecuteNonQuery(); // đóng kết nối m_cnn.Close(); } d) Viết code cập nhật thông tin bảng máy tính : bổ sung cấu hình cho IBM001 là “Intel Core i7” private void btnUpdate_Click(object sender, EventArgs e) { // mở kết nối m_cnn.Open(); // tạo câu update string sql = "Update tblMayTinh set CauHinh='Intel Core i7' where MaMay='IBM001'"; // đưa câu lệnh sql vào cmd cmd = new SqlCommand(sql, m_cnn); // thực thi câu lệnh sql cmd.ExecuteNonQuery(); // đóng kết nối m_cnn.Close(); } -------------------------------------------Giải đề 2 thi lần 1 khóa 2007------------------------------------------------- 1. Khai báo: // biến thành viên dtDSDatVe DataTable dtDSDatVe = new DataTable(); a) Viết sự kiện Form1_Load(): private void Form1_Load(object sender, EventArgs e) { // a.1/ Khởi tạo các giá trị cho các cboKhoiHanh và cboDiemDen cboDiemDen.Items.Add("TPHCM"); cboDiemDen.Items.Add("Long An"); cboDiemDen.Items.Add("Mỹ Tho"); cboDiemDen.Items.Add("Vĩnh Long"); cboDiemDen.Items.Add("Cần Thơ"); cboDiemDen.Items.Add("Sa Đéc"); cboDiemDen.Items.Add("Long Xuyên"); cboKhoiHanh.Items.Add("TPHCM"); cboKhoiHanh.Items.Add("Long An"); cboKhoiHanh.Items.Add("Mỹ Tho"); cboKhoiHanh.Items.Add("Vĩnh Long"); cboKhoiHanh.Items.Add("Cần Thơ"); cboKhoiHanh.Items.Add("Sa Đéc"); cboKhoiHanh.Items.Add("Long Xuyên"); // a.2/ Khởi tạo các giờ khởi hành: cboGioDi.Items.Add("8g"); cboGioDi.Items.Add("10g"); cboGioDi.Items.Add("12g"); cboGioDi.Items.Add("14g"); cboGioDi.Items.Add("16g"); cboGioDi.Items.Add("18g"); cboGioDi.Items.Add("20g"); // a.3/ Khởi tạo cấu trúc bảng dtDSDatVe, tạo các cột tương ứng dtDSDatVe.Columns.Add("Tên KH"); dtDSDatVe.Columns.Add("Địa chỉ"); dtDSDatVe.Columns.Add("Điện thoại"); dtDSDatVe.Columns.Add("Điểm khởi hành"); dtDSDatVe.Columns.Add("Điểm đến"); dtDSDatVe.Columns.Add("Giờ đi"); dtDSDatVe.Columns.Add("Ngày đi"); dtDSDatVe.Columns.Add("Số vé"); // a.4/ Hiển thị dữ liệu dtDSDatVe lên dgvDSDatVe dtDSDatVe.Rows.Add("Nguyễn Văn A", "123", "093", "TPHCM", "Mỹ Tho", "12g", "30/05/2011", "2"); dtDSDatVe.Rows.Add("Nguyễn Thị B", "456", "095", "Long An", "Long Xuyên", "18g", "03/06/2011", "5"); // đưa dữ liệu từ dtDSDatVe lên dgvDSDatVe dgvDSDatVe.DataSource = dtDSDatVe; } b) // viết sự kiện validating cho tên khách hàng không được để trống private void txtKhachHang_Validating_1(object sender, CancelEventArgs e) { if (txtKhachHang.Text.Trim() == "") MessageBox.Show("Tên khách hàng không được để trống"); } // viết sự kiện validating cho địa chỉ không được để trống private void txtDiaChi_Validating_1(object sender, CancelEventArgs e) { if (txtDiaChi.Text.Trim() == "") MessageBox.Show("Địa chỉ không được để trống"); } // viết sự kiện validating cho điện thoại phải là số hợp lệ, k có kí tự khác ngoài con số private void txtDienThoai_Validating_1(object sender, CancelEventArgs e) { // phải có hàm thư viện using System.Text.RegularExpressions; string pattern = @"^((\(\d{3}\) ?)|(\d{3}))?\d{3}\d{4}$"; // khai báo biểu thức chính qui Regex phone = new Regex(pattern); // khởi tạo đối tượng biểu thức chính qui if (phone.Match(txtDienThoai.Text).Success == false) MessageBox.Show("Bạn đã nhập sai số điện thoại, xin nhập lại!!!"); } // viết sự kiện validating cho điểm đến phải khác điểm đi private void cboDiemDen_Validating(object sender, CancelEventArgs e) { if (string.Compare(cboDiemDen.Text, cboKhoiHanh.Text) == 0) MessageBox.Show("Điểm đến phải khác điểm đi"); } c) // viết sự kiện cho btnDatVe, lấy thông tin từ form đưa vào dtDatVe private void btnDatVe_Click(object sender, EventArgs e) { dtDSDatVe.Rows.Add(txtKhachHang.Text, txtDiaChi.Text, txtDienThoai.Text, cboKhoiHanh.Text, cboDiemDen.Text, cboGioDi.Text, dtpNgayDi.Text, numSoVe.Value); this.dgvDSDatVe.DataSource = dtDSDatVe; } 2. Database BookDB Book Tên field Kiểu dữ liệu Mô tả BookID char(6) Mã sách Name nvarchar(50) Tên sách Author nvarchar(40) Tên tác giả Publisher nvarchar(40) Nhà XB Year datetime Năm XB Description nvarchar(255) Mô tả sách, cho phép null Khai báo: private SqlConnection m_cnn = null; private SqlDataAdapter m_da = new SqlDataAdapter(); private SqlCommand cmd = null; private DataSet m_ds = null; a) Cho biết chuỗi kết nối đến CSDL BookDB, giả sử server SQL là SQLEXPRESS, chạy tại máy cục bộ string cnnStr = @"Data Source =.\SQLEXPRESS; Init Catalog = PCData; Integrated Security = True"; b) Giả sử có dgv là dgvBook, viết code: lấy toàn bộ dữ liệu bảng Book lên dgvBook void KetNoiCSDL() { // tạo chuỗi kết nối string cnnStr = @"Data Source =.\SQLEXPRESS; Init Catalog = BookDB; Integrated Security = True"; // tạo kết nối m_cnn = new SqlConnection(cnnStr); // mở kết nối m_cnn.Open(); // kiểm tra kết nối if (m_cnn.Open == ConnectionState.Open) MessageBox.Show("Kết nối thành công"); } private void Form1_Load(object sender, EventArgs e) { KetNoiCSDL(); // tạo câu lệnh sql string sql = "select * from tblBook"; // khởi tạo adapter m_da = new SqlDataAdapter(sql, m_cnn); // khởi tạo nơi chứa dữ liệu m_ds = new DataSet(); // đưa dữ liệu bảng tblBook vào dataset m_da.Fill(m_ds, "tblBook"); dgvMayTinh.DataSource = m_ds.Tables["tblBook"]; // hoặc có thể ghi bằng m_ds.Tables[0] } c) Viết code thêm 1 dòng dữ liệu: (“MS0001”, “C# - Step byStep”, “Jon Jagger”, “Microsoft Press”, 2004, “null”) private void btnInsert_Click(object sender, EventArgs e) { // mở kết nối m_cnn.Open(); // tạo câu insert string sql = "Insert into tblMayTinh values ('MS0001', 'C# - Step byStep', 'Jon Jagger', 'Microsoft Press', 6920049, '')"; // đưa câu lệnh sql vào cmd cmd = new SqlCommand(sql, m_cnn); // thực thi câu lệnh sql cmd.ExecuteNonQuery(); // đóng kết nối m_cnn.Close(); } d) Viết code cập nhật thông tin bảng máy tính : bổ sung mô tả cho MS0001 là “Sách hướng dẫn lập trình c# từ cơ bản đến nâng cao” private void btnUpdate_Click(object sender, EventArgs e) { // mở kết nối m_cnn.Open(); // tạo câu update string sql = "Update tblMayTinh set Description='Sách hướng dẫn lập trình c# từ cơ bản đến nâng cao' where BookID='MS0001'"; // đưa câu lệnh sql vào cmd cmd = new SqlCommand(sql, m_cnn); // thực thi câu lệnh sql cmd.ExecuteNonQuery(); // đóng kết nối m_cnn.Close(); }
File đính kèm:
- Bài tập ôn C Sharp.doc