1. Giới thiệu về thêm một dữ liệu vào trong database
Select, insert, update, delete là những hành động mà chúng ta thường xuyên tương tác nhất trong quá trình quản trị hệ thống dữ liệu.
Hôm nay, chúng ta cùng nhau đề cập đến các vấn đề này nhé. Chủ đề thêm một record vào trong database
Nguồn sử dụng
- Database: northwind trong folder đính kèm
- Table: Employees
2. Thiết kế
Tạo trang mới đặt tên là insertRecord.aspx và thiết kế các control như sau
- Quan trọng: sử dụng đối tượng select trong gridview bằng cách chọn AutoGenerateSelectButton = true
- Tạo sự kiện của button insert bằng cách double click vào nút button
1
2
3
| protected void btnInsert_Click(object sender, EventArgs e) { } |
3. Coding
1
2
3
4
5
6
7
8
9
10
11
| private void LoadEmployee() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string GetEmployee = "Select top 10 * From Employees" ; SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); gvData.DataSource = dtEmployee; gvData.DataBind(); } |
- Tạo một events (sự kiện) SelectedIndexChanging của đối tượng gridView và thực hiện coding như sau:
1
2
3
4
5
6
7
| protected void gvData_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { txtEmployeeID.Text = gvData.Rows[e.NewSelectedIndex].Cells[1].Text; txtLastName.Text = gvData.Rows[e.NewSelectedIndex].Cells[2].Text; txtFirstName.Text = gvData.Rows[e.NewSelectedIndex].Cells[3].Text; txtTitle.Text = gvData.Rows[e.NewSelectedIndex].Cells[4].Text; } |
- Viết một function insert dữ liệu như sau
1
2
3
4
5
6
7
8
9
10
11
| void InsertRecord() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string InsertEmployee = "INSERT INTO Employees (LastName, FirstName, Title) VALUES ('" + txtLastName.Text + "','" + txtFirstName.Text + "','" + txtTitle.Text + "')" ; SqlDataAdapter daCustomer = new SqlDataAdapter(InsertEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); gvData.DataSource = dtEmployee; gvData.DataBind(); } |
4. Giải thích
Function loadEmployee()
1
| string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" |
1
| SqlConnection sqlCon = new SqlConnection(conn); |
1
| string GetEmployee = " Select EmployeeID,LastName,FirstName,Title From Employees" |
1
| SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); |
1
| DataTable dtEmployee = new DataTable(); |
1
| daCustomer.Fill(dtEmployee); |
1
2
| gvData.DataSource = dtEmployee; gvData.DataBind(); |
- Đoạn mã trên là chuỗi kết nối dữ liệu đến database là Northwind trong hệ quản trị dữ liệu SQL Server
- Tạo đối tượng SQL Connection SqlCon
- Đoạn mã truy vấn dữ liệu
- Đối tượng dùng xử lý dữ liệu
- Tạo đối tượng DataTable chứa dữ liệu
- Fill dữ liệu vào DataTable
- Và cuối cùng là hiển thị dữ liệu
Sự kiện gvData_SelectedIndexChanging của gridview như sau
1
2
3
4
| txtEmployeeID.Text = gvData.Rows[e.NewSelectedIndex].Cells[1].Text; txtLastName.Text = gvData.Rows[e.NewSelectedIndex].Cells[2].Text; txtFirstName.Text = gvData.Rows[e.NewSelectedIndex].Cells[3].Text; txtTitle.Text = gvData.Rows[e.NewSelectedIndex].Cells[4].Text; |
- e.NewSelectedIndex: là sự kiện xảy ra tại dòng mà chúng ta đang chọn
- gvData.Rows[e.NewSelectedIndex] chính là sự kiện xảy ra tại bất kỳ record nào trên gridview mà bạn chọn nó
- gvData.Rows[e.NewSelectedIndex].Cells[4].Text là lấy giá trị tại ô thứ 4 tương ứng với column bạn chọn
Hàm InsertRecord() dùng để thêm một record vào database với câu lệnh
1
| string InsertEmployee = "INSERT INTO Employees (LastName, FirstName, Title) VALUES ('" + txtLastName.Text + "','" + txtFirstName.Text + "','" + txtTitle.Text + "')" ; |
5. Kết quả
Kết quả đã được thêm vào database và sử dụng lại phương thức loadRecord để load mẫu tin vừa mới thêm vào
6. Source code đầy đủ của page
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data; public partial class selectRecord : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { LoadEmployee(); } private void LoadEmployee() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string GetEmployee = "Select EmployeeID,LastName,FirstName,Title From Employees" ; SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); gvData.DataSource = dtEmployee; gvData.DataBind(); } protected void gvData_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { txtEmployeeID.Text = gvData.Rows[e.NewSelectedIndex].Cells[1].Text; txtLastName.Text = gvData.Rows[e.NewSelectedIndex].Cells[2].Text; txtFirstName.Text = gvData.Rows[e.NewSelectedIndex].Cells[3].Text; txtTitle.Text = gvData.Rows[e.NewSelectedIndex].Cells[4].Text; } protected void btnInsert_Click(object sender, EventArgs e) { InsertRecord(); LoadEmployee(); } void InsertRecord() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string InsertEmployee = "INSERT INTO Employees (LastName, FirstName, Title) VALUES ('" + txtLastName.Text + "','" + txtFirstName.Text + "','" + txtTitle.Text + "')" ; SqlDataAdapter daCustomer = new SqlDataAdapter(InsertEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); gvData.DataSource = dtEmployee; gvData.DataBind(); } } |
Comments[ 0 ]
Đăng nhận xét