Cập nhật CSDL Microsoft SQL ServerCE sử dụng SqlCeDataAdapter 92

Một phần của tài liệu Tìm hiểu về .NET compact Framework và Smart Device Extensions (Trang 92 - 93)

SqlCeDataAdapter

DataSet đã đưa dữ liệu vào bằng cách sử dụng SqlCeDataAdapter, chúng ta cĩ thể

tạo sự thay đổi dữ liệu và cập nhật dữ liệu nguồn, chúng ta phải chỉ ra ba thuộc tính thêm vào đối tượng SqlCommand cho SqlCeDataAdapter là: UpdateCommand, InsertCommand, và DeleteCommand.

Đon code: S dng SqlCeDataAdapter để cp nht d liu

public static

SqlCeDataAdapter GetPackageDataAdapter(SqlCeConnection conn){ string dmlPackageInfo = "SELECT * FROM Package";

string dmlUpdatePackage="UPDATE Package " + "SET CODE = ?, " +

" DestinationID = ? " + "WHERE ID = ?";

string dmlInsertPackage="INSERT INTO " + "Package(Code, DestinationID) " + "VALUES (?, ?)";

string dmlDeletePackage="DELETE FROM " + "Package " +

"WHERE ID = ?";

SqlCeDataAdapter daPackages = new SqlCeDataAdapter();

daPackages.SelectCommand = new SqlCeCommand(dmlPackageInfo, conn);

daPackages.UpdateCommand = new SqlCeCommand(dmlUpdatePackage, conn); daPackages.UpdateCommand.Parameters.Add("Code", SqlDbType.NVarChar); daPackages.UpdateCommand.Parameters.Add("DestinationID",

SqlDbType.NVarChar);

daPackages.UpdateCommand.Parameters.Add("ID", SqlDbType.Int);

daPackages.InsertCommand = new SqlCeCommand(dmlInsertPackage, conn); daPackages.InsertCommand.Parameters.Add("Code", SqlDbType.NVarChar); daPackages.InsertCommand.Parameters.Add("DestinationID",

SqlDbType.NVarChar);

daPackages.DeleteCommand = new SqlCeCommand(dmlDeletePackage, conn); daPackages.DeleteCommand.Parameters.Add("ID", SqlDbType.Int);

return daPackages; }

SqlCeDataAdapter cập nhật dữ liệu nguồn khi chúng ta gọi phương thức Update. Phương thức Update thao tác qua 5 bước khi cập nhật dữ liệu:

câu lệnh cĩ liên quan.

Bước 2: Sự kiện RowUpdating được đưa ra.

Bước 3: Câu lệnh liên quan được thực thi đối với dữ liệu nguồn.

Bước 4: Sự kiện RowUpdated được đưa ra.

Bước 5: Thuộc tính RowSet của DataRow được thiết lập lại RowState.Unchanged bằng cách gọi phương thức AcceptChanges.

Đon code: Cp nht bng Package s dng SqlDataAdapter

public static void UpdatePackageTable(DataSet dsPackages) { string connstr = @"Data Source=\My Documents\PTSystem.sdf";

using(SqlCeConnection conn = new SqlCeConnection(connstr)) { conn.Open();

SqlCeDataAdapter daPackages = GetPackageDataAdapter(conn); daPackages.Update(dsPackages);

} }

Thao tác với s kin cp nht SqlCeDataAdapter

Khi chúng ta gọi phương thức cập nhật trên SqlCeDataAdapter, cĩ hai sự kiện

được đưa ra. Sự kiện RowUpdating được đưa ra trước câu lệnh Update được thực thi với dữ liệu nguồn. Sự kiện RowUpdated được phát sinh sau khi câu lệnh Update được thực thi với dữ liệu nguồn.

Khi chúng ta nhận một sự kiện RowUpdating, chúng ta sẽ xác định thuộc tính của

đối tượng SqlCeRowUpdatingEventArgs và quyết định tiếp tục cập nhật hay khơng.

Một phần của tài liệu Tìm hiểu về .NET compact Framework và Smart Device Extensions (Trang 92 - 93)

Tải bản đầy đủ (PDF)

(95 trang)