chương 4 cập nhật dữ liệu

47 574 0
chương 4 cập nhật dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CẬP NHẬT DỮ LIỆU Chương 4 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” 3 Câu lệnh SQL  Câu lệnh Insert  Câu lệnh Update  Câu lệnh Delete 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) 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 … 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 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” 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 … 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ỏ 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ố [...]... DataAdapter có 2 nhiệm vụ • Lấy dữ liệu từ data source và lưu trữ dữ liệu đó vào trong các đối tượng Disconnected (DataSet, DataTable) • Cập nhật dữ liệu từ các đối tượng Disconnected vào data source 34 Dùng đối tượng DataAdapter DataSet Data source DataAdapter DataTable Fill Fill Update Update DataAdapter DataTable Fill Fill Update Update 35 Dùng đối tượng DataAdapter  Để cập nhật dữ liệu, DataAdapter cũng... cmd = CreateDeleteCommand(); cmd.Parameters[@tenThamSo] = giatri; … return cmd.ExecuteNonQuery(); } 18 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 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... các dòng dữ liệu  Cách 3: DataRow row; int index; … tenBang.RemoveAt(index); 25 Chỉnh sửa dữ liệu Disconnected Phiên bản dữ liệu trong DataRow  Truy cập các phiên bản dữ liệu khác nhau của DataRow DataRow row; int index; … row = tenBang.Rows[index]; row["cot1"] = giatrimoi1; row["cot2"] = giatrimoi2; … string strOldData; strOldData = row["tenCot", DataRowVersion.Original]; 26 Chỉnh sửa dữ liệu Disconnected... sửa dữ liệu Disconnected Chỉnh sửa các dòng dữ liệu  Cách 3: DataRow row; int index; … row = tenBang.Rows[index]; row.ItemArray = new object[]{giatri1, giatri2, … }; 23 Chỉnh sửa dữ liệu Disconnected Xóa các dòng dữ liệu  Cách 1:  Cách 2: DataRow row; int index; … row = tenBang.Rows[index]; row.Delete(); DataRow row; int index; … row = tenBang.Rows[index]; tenBang.Remove(row); 24 Chỉnh sửa dữ liệu. .. DataRowState.Modified DataRowState.Unchanged 20 Chỉnh sửa dữ liệu Disconnected Thêm các dòng dữ liệu mới  Cách 1: DataRow row; row = tenBang.NewRow(); row["cot1"] = giatri1; row["cot2"] = giatri2; … tenBang.Rows.Add(row);  Cách 2: object[] rowValues = {giatri1,giatri2,…}; tenBang.LoadDataRow(rowValues, false); 21 Chỉnh sửa dữ liệu Disconnected Chỉnh sửa các dòng dữ liệu  Cách 1:  Cách 2: DataRow row; int index;... insert, update hay delete) • Bước 4: Dùng các giá trị trong dòng để gán cho các tham số trong đối tượng command • Bước 5: Gọi ExecuteNonQuery() để thực thi câu truy vấn được lưu trong đối tượng command • Bước 6: Dùng kiểu trả về của ExecuteNonQuery() để xác định lệnh cập nhật có thành công không – Nếu cập nhật thành công thì chúng ta gọi AcceptChanges() – Nếu cập nhật không thành công thì chúng ta... công thì chúng ta gọi AcceptChanges() – Nếu cập nhật không thành công thì chúng ta thiết lập lỗi cho thuộc tính RowError của đối tượng DataRow 28 Dùng đối tượng Command với DataTable/DataSet  Cập nhật mọi dữ liệu trong DataTable vào CSDL void SubmitChanges() { SqlCommand cmdInsert = CreateInsertCommand(); SqlCommand cmdUpdate = CreateUpdateCommand(); SqlCommand cmdDelete = CreateDeleteCommand(); DataViewRowState...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 Dùng đối tượng Command Đối tượng Command không có tham... break; case DateRowState.Added: num = SubmitInsert(row, cmdInsert); break; case DateRowState.Deleted: num = SubmitDelete(row, cmdDelete); break; } if (num == 1) row.AcceptChange(); else row.Error = “Lỗi cập nhật" ; } } 30 Dùng đối tượng Command với DataTable/DataSet  Thêm 1 DataRow vào CSDL int SubmitInsert(DataRow row, SqlCommand cmdInsert) { SqlParameterCollection pc = cmdInsert.Parameters; pc["@Cot1"].Value... pc["@Cot1"].Value = row["Cot1", DataRowVersion.Original]; pc["@Cot2"].Value = row["Cot2", DataRowVersion.Original]; … return cmdDelete.ExecuteNonQuery(); } 32 Dùng đối tượng Command với DataTable/DataSet  Cập nhật 1 DataRow vào CSDL int SubmitUpdate(DataRow row, SqlCommand cmdUpdate) { SqlParameterCollection pc = cmdUpdate.Parameters; pc["@Cot1"].Value = row["Cot1"]; pc["@Cot2"].Value = row["Cot2"]; … pc["@OrginCot1"].Value . cmd.ExecuteNonQuery(); } 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 20 Chỉnh sửa dữ liệu Disconnected Trạng. CẬP NHẬT DỮ LIỆU Chương 4 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. Update  Câu lệnh Delete 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

Ngày đăng: 28/05/2014, 18:00

Từ khóa liên quan

Mục lục

  • CẬP NHẬT DỮ LIỆU

  • Nội dung

  • Câu lệnh SQL

  • Câu lệnh SQL Insert

  • Slide 5

  • Slide 6

  • Slide 7

  • Câu lệnh SQL Update

  • Câu lệnh SQL Delete

  • Dùng đối tượng Command

  • Dùng đối tượng Command Các bước thực hiện

  • Dùng đối tượng Command Đối tượng Command không có tham số

  • Slide 13

  • Slide 14

  • Dùng đối tượng Command Đối tượng Command có tham số

  • Slide 16

  • Slide 17

  • Slide 18

  • Chỉnh sửa dữ liệu Disconnected

  • Chỉnh sửa dữ liệu Disconnected Trạng thái của DataRow

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan