intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình cơ sở dữ liệu - Chương 4: Cập nhật dữ liệu

Chia sẻ: Nhân Chi Sơ | Ngày: | Loại File: PPT | Số trang:47

77
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình cơ sở dữ liệu - Chương 4: Cập nhật dữ liệu trình bày những nội dung cơ bản sau: Câu lệnh SQL, cùng đối tượng Command, chỉnh sửa dữ liệu Disconnected, dùng đối tượng Command với DataTable/DataSet, dùng đối tượng DataAdapter, đùng đối tượng CommandBuilder, cấu hình DataAdapter “bằng tay”.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình cơ sở dữ liệu - Chương 4: Cập nhật dữ liệu

  1. Chương 4 CẬP NHẬT DỮ LIỆU
  2. Nội dung  Câu lệnh SQL  Dùng đối tượng Command  Chỉnh sửa dữ liệu Disconnected  Dùng đối tượng Command với DataTable/DataSet  Dùng đối tượng DataAdapter  Dùng đối tượng CommandBuilder  Cấu hình DataAdapter “bằng tay” 2
  3. Câu lệnh SQL  Câu lệnh Insert  Câu lệnh Update  Câu lệnh Delete 3
  4. Câu lệnh SQL Insert  Câu lệnh Insert dùng để thêm 1 dòng dữ liệu vào bảng • Thêm 1 dòng hoàn chỉnh • Thêm 1 số phần dữ liệu của 1 dòng • Thêm dữ liệu được lấy từ 1 bảng khác  Thêm 1 dòng hoàn chỉnh Insert into tênBang Values(giatri1, giatri2, …, giatriN) Insert into tênBang(cot1, cot2, …, cotN) Values(giatri1, giatri2, …, giatriN) 4
  5. Câu lệnh SQL Insert  Thêm 1 số phần dữ liệu của 1 dòng Insert into tênBang(cotK1, cotK2, …) Values(giatriK1, giatriK2, …) • Cột không liệt kê ra sẽ nhận giá trị NULL  Thêm dữ liệu được lấy từ 1 bảng khác Insert into tênBang1(cot1, cot2, …, CotN) Select cot1, Cot2, …, CotN From tênBang2 Where … 5
  6. Câu lệnh SQL Insert  Chú ý: • Từ khoá Into trong câu lệnh Insert có thể bỏ, nhưng không nên bỏ • Nên liệt kê các cột dữ liệu khi dùng câu lệnh insert dữ liệu 6
  7. Câu lệnh SQL Insert  Copy từ 1 bảng sang 1 bảng khác Select * into tênBangMoi From tênBang1 Select cotK1, cotK2, … into tênBangMoi From tênBang1, tênBang2, … Where … Group By …  Hoạt động: • Tạo bảng “tênBangMoi” • Chép dữ liệu vào “tênBangMoi” 7
  8. Câu lệnh SQL Update  Câu lệnh Update dùng để cập nhật (chỉnh sửa) dữ liệu Update tênBang Set cot1=newValue1, …, cotN=newValueN Where cot1 = oldValue1 and … and cotN=oldValueN  Để xóa giá trị của 1 ô dữ liệu trong bảng, chúng ta thiết lập giá trị đó bằng null Update tênBang Set cot1=null, … Where cotA = oldValueA … 8
  9. Câu lệnh SQL Delete  Câu lệnh Delete dùng để xóa 1 số dòng dữ liệu trong bảng Delete From tênBang Where cot1=giatri1 and cot2=giatri2 and … and cotN=giatriN  Chú ý: • Delete dùng để xóa cả 1 dòng, chứ không xóa 1 cột của dòng • Delete không xóa bảng, chỉ xóa dữ liệu • Để xóa mọi dòng dữ liệu trong bảng nên dùng lệnh Truncate Table • Từ khóa From trong câu lệnh delete có thể bỏ, nhưng không nên bỏ 9
  10. Dùng đối tượng Command  Các bước thực hiện  Đối tượng Command không có tham số  Đối tượng Command có tham số 10
  11. Dùng đối tượng Command Các bước thực hiện  3 bước sử dụng đối tượng command để cập nhật dữ liệu • Bước 1: Tạo câu SQL • Bước 2: Tạo đối tượng Command chứa câu SQL • Bước 3: Gọi phương thức ExecuteNonQuery() của đối tượng Command 11
  12. Dùng đối tượng Command Đối tượng Command không có tham số  Câu lệnh Insert string strSQL = "INSERT INTO tênBang(cot1, …) " + " VALUES (giatri1, …)"; SqlCommand cmd = new SqlCommand(strSQL, conn); int numberOfRows = cmd.ExecuteNonQuery(); 12
  13. Dùng đối tượng Command Đối tượng Command không có tham số  Câu lệnh Update string strSQL = "UPDATE tênBang" + " SET cot1 = newValue1,…, cotN=giatriN" + " WHERE cot1=oldValue1 and … and cotN=oldValueN"; SqlCommand cmd = new SqlCommand(strSQL, conn); int numberOfRows = cmd.ExecuteNonQuery(); 13
  14. Dùng đối tượng Command Đối tượng Command không có tham số  Câu lệnh Delete string strSQL = "DELETE FROM tênBang" + " WHERE cot1=giatri1 and … and cotN=giatriN"; SqlCommand cmd = new SqlCommand(strSQL, conn); int numberOfRows = cmd.ExecuteNonQuery(); 14
  15. Dùng đối tượng Command Đối tượng Command có tham số  Phương thức tạo câu lệnh Insert SqlCommand CreateInsertCommand() { string strSQL; strSQL = "Insert tênBang(cot1, …) " + " values(@cot1, …)"; SqlCommand cmd = new SqlCommand(strSQL, conn); SqlParameterCollection pc = cmd.Parameters; pc.Add("@cot1", SqlDbType.Kieu); … return cmd; } 15
  16. Dùng đối tượng Command Đối tượng Command có tham số  Phương thức tạo câu lệnh Update SqlCommand CreateUpdateCommand() { string strSQL; strSQL = "Update tênBang " + " set cot1=@cot1, …, cotN=@cotN " + " where cot1=@OrigCot1 and … and cotN=@OrigCotN"; SqlCommand cmd = new SqlCommand(strSQL, conn); SqlParameterCollection pc = cmd.Parameters; pc.Add("@cot1", SqlDbType.Kieu); … pc.Add(@OrigCot1, SqlDbType.Kieu) … return cmd; } 16
  17. Dùng đối tượng Command Đối tượng Command có tham số  Phương thức tạo câu lệnh Delete SqlCommand CreateDeleteCommand() { string strSQL; strSQL = "Delete from tênBang " + " where @cot1=giatri1 and … and @cotN=giatriN"; SqlCommand cmd = new SqlCommand(strSQL, conn); SqlParameterCollection pc = cmd.Parameters; pc.Add("@cot1", SqlDbType.Kieu); … return cmd; } 17
  18. Dùng đối tượng Command Đối tượng Command có tham số  Sử dụng các đối tượng command có tham số int SubmitInsert/Update/Delete() { SqlCommand cmd = CreateInsertCommand(); //SqlCommand cmd = CreateUpdateCommand(); //SqlCommand cmd = CreateDeleteCommand(); cmd.Parameters[@tenThamSo] = giatri; … return cmd.ExecuteNonQuery(); } 18
  19. Chỉnh sửa dữ liệu Disconnected  Trạng thái của DataRow  Thêm các dòng dữ liệu mới  Chỉnh sửa các dòng dữ liệu  Xóa các dòng dữ liệu  Phiên bản dữ liệu trong DataRow 19
  20. Chỉnh sửa dữ liệu Disconnected Trạng thái của DataRow  Khi chúng ta thao tác trên đối tượng DataRow, DataRow sẽ tự động ghi nhận lại thao tác đó vào property trạng thái tenRow.RowState.  RowState thuộc kiểu DataRowState • DataRowState.Added • DataRowState.Deleted • DataRowState.Detached • DataRowState.Modified • DataRowState.Unchanged 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2