Bài trước: Kết nối cơ sở dữ liệu - Lớp kết nối.
clsSinhVien
Bước 3. Tạo form SinhVien
Mục tiêu: Trình bày 1 cách cấu trúc chương trình theo mô hình 3 lớp để thêm mới 1 bản ghi vào table trong cơ sở dữ liệu.
Mô hình 3 lớp trong lập trình windows |
Bước 1. Tạo bảng tblSinhVien trong Database QLSV.
STT
|
Mã hóa tên
|
Ý nghĩa
|
Kiểu
|
Ghi chú
|
1
|
MaSV
|
Mã Sinh viên
|
char(10)
|
|
2
|
TenSV
|
Tên Sinh viên
|
nvarchar(30)
|
|
3
|
DiaChi
|
Địa chỉ
|
nvarchar(50)
|
|
4
|
GhiChu
|
Ghi chú
|
nvarchar(50)
|
|
Mã tạo bảng tblSinhVien
CREATE TABLE [dbo].[tblSinhVien](
[MaSV] [char](10) NOT NULL,
[TenSV] [nvarchar](30) NULL,
[DiaChi] [nvarchar](50) NULL,
[GhiChu] [nvarchar](50) NULL,
CONSTRAINT
[PK_tblSinhVien] PRIMARY KEY CLUSTERED
(
[MaSV] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE
= OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
|
Tạo thủ tục thêm mới sinh viên
USE [QLSV]
GO
/******
Object: StoredProcedure
[dbo].[sp_inserttoSinhVienTable]
Script Date: 10/31/2018 10:35:06 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--
=============================================
--
Author: <Author,,hoangtn>
--
Create date: <30-10-2018,,>
--
Description: <Them moi 1 ban ghi
vao bang sinh vien,,>
--
=============================================
CREATE PROCEDURE [dbo].[sp_inserttoSinhVienTable]
-- Add
the parameters for the stored procedure here
(
@MaSV char(10),
@TenSV nvarchar(30),
@DiaChi nvarchar(50),
@GhiChu nvarchar(50)
)
AS
BEGIN
-- SET
NOCOUNT ON added to prevent extra result sets from
--
interfering with SELECT statements.
SET
NOCOUNT ON;
-- Insert
statements for procedure here
insert
into tblSinhVien(MaSV,TenSV,DiaChi,GhiChu)
Values(@MaSV,@TenSV,@DiaChi,@GhiChu)
END
|
Bước 2. Tạo interface và class cho thực thể Sinh viên: ISinhVien, clsSinhVien
Tạo project có cấu trúc như sau:
Cấu trúc Project theo mô hình 2 lớp trong lập trình Windows |
Trong đó:
- clsKetNoi, IKetnoi, frm Ketnoi đã được trình bày trong Kết nối cơ sở dữ liệu - Lớp kết nối.
- clsSinhVien, ISinhVien như sau:
ISinhVien
namespace
Mohinh3Tang.DAL
{
interface ISinhVien
{
/// <summary>
/// Mã
sinh viên
/// </summary>
string MaSV {
get; set; }
/// <summary>
/// Tên
sinh viên
/// </summary>
string TenSV
{ get; set; }
/// <summary>
/// Địa chỉ
của sinh viên
/// </summary>
string DiaChi
{ get; set; }
/// <summary>
/// Ghi
chú
/// </summary>
string GhiChu
{ get; set; }
/// <summary>
/// Chèn
thêm 1 bản ghi với thông tin sinh viên mới đã có trong các thuộc tính.
/// </summary>
/// <param
name="strConnectionString"></param>
/// <returns>True:
chèn được bản ghi mới;False: Không chèn được</returns>
bool
ChenMoiMotBanGhi(string strConnectionString);
}
}
|
using
System.Data.SqlClient;
namespace
Mohinh3Tang.DAL
{
class ClsSinhVien :
ISinhVien
{
public string MaSV{get;set;}
public string TenSV
{ get; set; }
public string DiaChi
{ get; set; }
public string GhiChu
{ get; set; }
public
ClsSinhVien()
{
}
public
ClsSinhVien(string masv, string tensv,string diachi, string ghichu)
{
MaSV = masv;
TenSV = tensv;
DiaChi = diachi;
GhiChu = ghichu;
}
public bool
ChenMoiMotBanGhi(string strConnectionString)
{
bool kt = false;
SqlConnection sqlConn = new
SqlConnection(strConnectionString);
try
{
sqlConn.Open();
SqlCommand sqlComm = new
SqlCommand();
sqlComm.Connection = sqlConn;
sqlComm.CommandText = "sp_inserttoSinhVienTable";
sqlComm.CommandType =
System.Data.CommandType.StoredProcedure;
//Truyen
tham so vao cho thu tuc
sqlComm.Parameters.Add("@MaSV",
System.Data.SqlDbType.Char, 10).Value = MaSV ;
sqlComm.Parameters.Add("@TenSV",
System.Data.SqlDbType.NVarChar,30).Value=TenSV;
sqlComm.Parameters.Add("@DiaChi",System.Data.SqlDbType.NVarChar,50).Value=DiaChi;
sqlComm.Parameters.Add("@GhiChu",System.Data.SqlDbType.NVarChar,50).Value=GhiChu;
//Thuc
thi cau lenh
sqlComm.ExecuteNonQuery();
kt = true;
}
catch
{ }
return kt;
}
}
}
|
Bước 3. Tạo form SinhVien
STT
|
Đặt tên
|
Kiểu
|
Ghi chú
|
1
|
txtTenSV
|
Texbox
|
|
2
|
txtDiaChi
|
Texbox
|
|
3
|
txtGhiChu
|
Texbox
|
|
4
|
txtMaSV
|
Texbox
|
|
5
|
lblThongbao
|
Label
|
|
Có giao diện như sau:
Form thêm mới 1 sinh viên |
Bước 4. Tạo thêm 1 contructor cho form frmSinhVien
public
frmSinhVien(string strConnectionStringSent)
{
strConectionString =
strConnectionStringSent;
InitializeComponent();
}
|
Bước 5. Viết code cho nút
Viết code cho nút thêm mới:
private void
btnThem_Click(object sender, EventArgs e)
{
DAL.ClsSinhVien sinhvien = new
DAL.ClsSinhVien(txtMaSV.Text,
txtTenSV.Text,
txtDiaChi.Text,
txtGhiChu.Text);
bool kt =
sinhvien.ChenMoiMotBanGhi(strConectionString);
if (kt)
{
lblThongbao.Text = "Đã
chèn một bản ghi vào bảng Sinh viên.";
}
else
{
lblThongbao.Text = "Không
chèn được.";
}
}
|
Bài tiếp theo: