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

Lập trình ứng dụng trên Pocket PC - Lập trình với Microsoft SQL Server CE - Nguyễn Tuấn Anh

Chia sẻ: Nguyen Quan | Ngày: | Loại File: PDF | Số trang:14

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

SQL Server CE hỗ trợ CSDL có dung lượng lớn nhất đến 2GB. SQL Server CE hỗ trợ tập con các ngôn ngữ định nghĩa dữ liệu và ngôn ngữ thao tác dữ liệu. Có hỗ trợ nhiều cột chỉ số, khóa chính, ràng buộc.

Chủ đề:
Lưu

Nội dung Text: Lập trình ứng dụng trên Pocket PC - Lập trình với Microsoft SQL Server CE - Nguyễn Tuấn Anh

  1. Thu vien Hoc Lieu Mo Viet Nam module: m49413 1 L p trình v i Microsoft SQL Server CE∗ Nguy n Tu n Anh This work is produced by Thu vien Hoc Lieu Mo Viet Nam and licensed under the Creative Commons Attribution License † Tóm t t n i dung L p trình v i Microsoft SQL Server CE 1 Tìm hi u các tính ch t h tr b i Microsoft SQL Server 2000 Windows CE Edition Ngôn ng truy v n có c u trúc (SQL) Server 2000 Windows CE Edition (SQL Server CE) r t nh so v i b máy CSDL Microsoft’s SQL Server 2000. M c dù kích c c a nó như v y, nhưng SQL Server CE cung c p đ đ lưu tr d li u và các ch c năng. SQL Server CE h tr CSDL có dung lư ng l n nh t đ n 2GB. SQL Server CE h tr t p con các ngôn ng đ nh nghĩa d li u và ngôn ng thao tác d li u. Có h tr nhi u c t ch s , khóa chính, ràng bu c. Khi phát tri n ng d ng SQL Server CE, chúng ta c n ph i thêm hai assembly references đ d án c a chúng ta làm vi c như đo n mã. SQL Server CE qu n lý s t n t i System.Data.SqlServerCe. Chúng ta s c n thêm m t tham chi u System.Data.Common. Như trong đo n mã sau: using System.Data; using System.Data.Common; using System.Data.SqlServerCe; 2 T o CSDL Microsoft SQL Server CE Có hai l a ch n đ t o CSDL SQL Server CE. M t là s d ng SQL Server CE Query Analyzer đ dùng đ h a t o và thi t k CSDL SQL Server CE. Đ h c nhi u hơn v Query Analyzer, xem Microsoft SQL Server CE Books Online. Chúng ta có th t o m t CSDL SQL Server CE b ng cách l p trình s d ng l p SQL Server CE Data Provider đ nh nghĩa trong không gian tên System.Data.SqlServerCE. Khi t o m t CSDL b ng cách l p trình, chúng ta ch c n tác đ ng đ n l p SQL Server CE Data Provider, System.Data.SqlServerCe.SqlCeEngine. L p SqlCeEngine cung c p kh năng l p trình truy nh p SQL Server CE. SqlCeEngine cung c p hai ch c năng chính: kh năng t o m t CSDL m i và kh năng compact m t CSDL đã có. Đ t o m t CSDL SQL Server CE b ng cách l p trình r t đơn gi n. Chúng ta làm theo ba bư c sau: ∗ Version 1.1: Jan 20, 2011 6:05 pm GMT+7 † http://creativecommons.org/licenses/by/3.0/ http://voer.vn/content/m49413/1.1/
  2. Thu vien Hoc Lieu Mo Viet Nam module: m49413 2 Bư c1: Trư c tiên chúng ta đ m b o răng chưa t n t i fiel CSDL (.sdf) trư c khi t o CSDL. N u t n t i, hãy xóa khi b n t o CSDL m i. Bư c 2: Th hi n l p SqlCeEngine ph i đư c cài đ t và kh i t o cùng v i chu i k t n i. Bư c 3: G i phương th c CreateDataBase trên SqlCeEngine. Listing 5.2 T o m t CSDL SQL S e rver CE public void CreateNewDatabase() { if(File.Exists("tempdb.sdf") File.Delete("tempdb.sdf"); string connStr = "Data Source = tempdb.sdf; Password = testing123" using(SqlCeEngine engine = new SqlCeEngine(connStr)) { engine.CreateDatabase(); } } 3 Thêm c u trúc vào m t CSDL Microsoft SQL Server CE Sau khi t o m t CSDL SQL Server CE, bư c ti p theo thêm các b ng vào CSDL. Chúng ta có th dùng đ h a b ng cách s d ng SQL Server CE Query Analyzer ho c b ng cách l p trình s d ng l p SQL Server CE Data Provider. Đ l p trình t o b ng CSDL, chúng ta s c n k t n i v i CSDL b ng cách s d ng l p SqlCeConnection và đưa ra các câu l nh DDL b ng cách s d ng l p SqlCeCommand. SQL Server CE h tr m t t p con c a DDL. B ng 5.2 mô t các câu l nh DDL h tr . Hình 1: Các câu l n DDL h tr b i SQL Server CE http://voer.vn/content/m49413/1.1/
  3. Thu vien Hoc Lieu Mo Viet Nam module: m49413 3 Hình 2: Các ki u d li u SQL Server CE h tr . http://voer.vn/content/m49413/1.1/
  4. Thu vien Hoc Lieu Mo Viet Nam module: m49413 4 Hình 3: Các ki u d li u SQL Server CE h tr Bây gi chúng ta h c cách t o c u trúc m t CSDL SQL Server. Chúng ta t o CSDL bao g m hai b ng: b ng Package và b ng TrackingEntry. B ng 5.4 và 5.5 mô t các c t và ki u d li u tương ng. http://voer.vn/content/m49413/1.1/
  5. Thu vien Hoc Lieu Mo Viet Nam module: m49413 5 Hình 4: C u trúc b ng Package Hình 5: C u trúc c a b ng TrackingEntry Listing 5.3 T o b ng Package và TrackingEntry public static void CreateTrackingDatabase() { string connstr = @"Data Source=\My Documents\PTSystem.sdf"; using(SqlCeConnection conn = new SqlCeConnection(connstr)) { conn.Open(); // Create an the package table string ddlPackage = "CREATE TABLE Package( " + "ID int not null identity(1,1) PRIMARY KEY, " + "Code nvarchar(12) not null, " + "DestinationID nvarchar(12) not null)"; RunDDLCommand(conn, ddlPackage); // Create the tracking entry table string ddlTrackingEntry = "CREATE TABLE TrackingEntry( " + "ID int not null identity(1,1), " + "PackageID int not null, " + "LocationID nvarchar(12) not null, " + "ArrivalTime datetime not null, " + "DepartureTime datetime null, " + http://voer.vn/content/m49413/1.1/
  6. Thu vien Hoc Lieu Mo Viet Nam module: m49413 6 "FOREIGN KEY (PackageID) REFERENCES Package(ID) )"; RunDDLCommand(conn, ddlTrackingEntry); // Create an index on the tracking entry table string ddlArrivalTimeNdx = "CREATE INDEX ArrivalTime ON TrackingEntry(ArrivalTime )"; RunDDLCommand(conn, ddlArrivalTimeNdx ); } } Phương th c b t đ u đ t o m t k t n i t i CSDL SQL Server là đ i tư ng SqlCeConnection. Đ i tư ng th hi n đư c t o b ng cách s d ng chu i k t n i truy c p vào CSDL. Ti p theo k t n i t i CSDL đư c m b ng cách g i phương th c: SqlCeConnection.Open. Chúng ta t o b ng Package. S d ng chu i câu l nh SQL đ t o b ng. T o b ng TrackingEntry. B ng này ch a khóa ngo i ràng bu c trên c t PackageID. Giá tr trèn vào c t PackageID ph i t n t i trong c t ID c a b ng Package. Phương th c RunDDLCommand t o các y u t khác nhau c a CSDL. Listing 5.4 Phương th c th c thi RunDDLCommand public static void RunDDLCommand(SqlCeConnection conn, string ddlCmdStr) { SqlCeCommand cmdDDL = null; try { cmdDDL = new SqlCeCommand(ddlCmdStr, conn); cmdDDL.CommandType = CommandType.Text; cmdDDL.ExecuteNonQuery(); } catch(SqlCeException scee) { for(int curExNdx = 0; curExNdx < scee.Errors.Count; ++curExNdx) { MessageBox.Show("Error:"+scee.Errors[curExNdx].ToString()+"\n"); } } finally { if( cmdDDL != null ) cmdDDL.Dispose(); } } Hình 6: The CommandType Enumeration Values http://voer.vn/content/m49413/1.1/
  7. Thu vien Hoc Lieu Mo Viet Nam module: m49413 7 4 Lưu tr (Populating) CSDL Microsoft SQL Server CE M t CSDL SQL Server CE có th đư c qu n lý b ng các câu l nh qu n lý d li u SQL. SQL Server CE 2.0 h tr t p con các câu l nh qu n lý d li u c a SQL Server. Các câu l nh h tr đư c li t kê trong b ng 5.7 Hình 7: Câu l nh DML h tr b i SQL Server CE SQL Server CE Query Analyzer có th s d ng các câu l nh DML. L p SqlCeCommand có th s d ng th c thi trong l p trình thông qua SQL Server CE Data Provider. Đ qu n lý CSDL SQL Sever CE, chúng ta có th ch y các câu l nh INSERT. Các bư c như sau: Bư c 1: M m t k t n i CSDL SQL Server CE s d gng th hi n c a l p SqlCeConnection. Bư c 2: T o đ i tư ng SqlCeCommand, và đưa chu i câu l nh INSERT. Bư c 3: Thi t l p ki u câu l nh, th c thi câu lênh b ng cách s d ng phương th c ExecuteNonQuery. Listing 5.5 Mô t cách trèn d l i u vào b ng Package . public static void InsertNewPackage(string pckgCode, string destID) { String connstr = @"Data Source=\My Documents\PTSystem.sdf"; using(SqlCeConnection conn = new SqlCeConnection(connStr)) { conn.Open(); string dmlInsertPackage = "INSERT INTO Package(Code, DestinationID) " + "VALUES (’" + pckgCode + "’, ’" + destID + "’)"; SqlCeCommand cmdInsertPackage = new SqlCeCommand(conn, dmlInsertPackage); try { cmdInsertPackage = new SqlCeCommand(conn , dmlInsertPackage); cmdInsertPackage.CommandType = CommandType.Text; cmdInsertPackage.ExecuteNonQuery(); } catch(SqlCeException scee) { for(int curNdx=0; curNdx
  8. Thu vien Hoc Lieu Mo Viet Nam module: m49413 8 } } } 5 L y d li u b ng SqlCeDataReader 5.1 L y d li u b ng SqlCeDataReader D li u có th đư c l y CSDL SQL CE b ng cách s d ng l p SqlCeDataReader. L p SqlCeDataReader cung c p truy nh p nhanh, ch m t hư ng v phía trư c t i các b n ghi d li u. Các bư c đ nh n d li u b ng SqlCeDataReader như sau: Bươc1: T o m t th hi n SqlCeConnection. SqlCeDataReader s s d ng k t n i đ nh n dòng d li u yêu c u. Bư c 2: Đ i tư ng SqlCeCommand s đư c t o cùng vi câu l nh SELECT thích h p. Bư c 3: Thi t l p ki u câu l nh, và g i phương th c SqlCeCommand.ExecuteReader. Phương th c ExecuteReader th c thi command text đ i v i CSDL b ng SqlCeConnection. SqlCeDataReader s cung c p truy c p d li u đ tr v d li u đư c tr v . SqlCeConnection s b n will SqlCeDataReader đ n khi quá trình đ c d li u đóng l i. Phương th c đưa đ n m t tham s c a ki u CommandBehavior. Ki u CommandBehavior là m t t p h p mà SqlCeCommand s d ng. B ng 5.8 là danh sách giá tr c a CommandBehavior bà mô t . Hình 8: Giá tr CommandBehavior M t SqlCeDataReader đư c tr v d a vào g i ExecuteReader. S ti n b c a phương th c là đ c các b n ghi ti p theo. SqlCeDataReader có v trí kh i t o là trư c b ng ghi đ u ti n. Vì v y ph i g i Read trư c khi yêu c u l y d li u. Phương th c Read s tr v true đ n t n khi SqlCeDataReader đ n cu i c a t p k t qu tr v . Sau đó t v k t qu false. http://voer.vn/content/m49413/1.1/
  9. Thu vien Hoc Lieu Mo Viet Nam module: m49413 9 Chúng xác đ nh đư c v trí dòng d li u, chúng ta có th s d ng các phương th c GetXXX c a SqlCeDataReader đ truy nh p các c t trong m i dòng d li u. Phương th c GetInt32 nh n m t giá tr Int32 t m t c t trong dòng hi n t i c a SqlCeDataReader. Phương th c đưa đ n m t tham s ki u int. Tham s này th hi n s th t c a c t. N u th t c a c t không bi t đ n khi ti t k , chúng ta có th s d ng phương th c GetOrdinal đ tìm s th t c a c t b ng tên c t. Trong Listing 5.6 mô t cách nh n t t c thông tin t b ng Package. Listing 5.6 Nh n t t c thông tin trong b ng Package public static void GetAllPackageInfo() { string pckgStr = "Package Data\nID: {0}\nCode: {1}\nDestination: {2}"; string connstr = @"Data Source=\My Documents\PTSystem.sdf"; using(SqlCeConnection conn = new SqlCeConnection(connstr)) { conn.Open(); string dmlPackageInfo = "SELECT * FROM Package"; SqlCeCommand cmdGetPackageInfo = null; SqlCeDataReader drPackageInfo = null; try { cmdGetPackageInfo = new SqlCeCommand(dmlPackageInfo, conn); cmdGetPackageInfo.CommandType = CommandType.Text; drPackageInfo = cmdGetPackageInfo.ExecuteReader(CommandBehavior.Default); while(drPackageInfo.Read()) { System.Windows.Forms.MessageBox.Show( string.Format(pckgStr, drPackageInfo.GetInt32(0), drPackageInfo.GetString(1), drPackageInfo.GetString(2))); } } catch(SqlCeException scee) { for(int curExNdx = 0; curExNdx < scee.Errors.Count; ++curExNdx) { System.Windows.Forms.MessageBox.Show( "Error:"+ scee.Errors[curExNdx].ToString()+"\n"); } } finally { if( cmdGetPackageInfo != null ) cmdGetPackageInfo.Dispose(); if( drPackageInfo != null ) drPackageInfo.Close(); } } } 5.2 S d ng tham s SQL Commands Câu l nh SELECT s d ng trong Listing 5.5 r t đơn gi n. Trong các câu l nh SELECT s h y h t s d ng m nh đ WHERE, cái đó s giúp chúng ta l y nh ng dòng c n thi t. Chúng ta có th s d ng m nh đ WHERE đ l a ch n thông tin trong b ng Package. M t ví d v truy SELECT: SELECT * FROM Package WHERE ID = "0987654321" Truy v n này SELECT l y v nh ng dòng có c t ID có giá tr 0987654321. Chúng ta hãy t o m t đ i tư ng SqlCeCommand. Đ i tư ng SqlCeCommand cung c p thu c tính Parameters ch a đ ng t p h p t t c các tham s . Đ thêm tham s vào t p h p này chúng ta s d ng phương th c SqlCeCommand.Prepare. http://voer.vn/content/m49413/1.1/
  10. Thu vien Hoc Lieu Mo Viet Nam module: m49413 10 Listing 5.7 Th c thi m t tham s SQL command public static void GetPackageInfo(int pckgID) { string pckgStr = "Package Data\nID: {0}\nCode: {1}\nDestination: {2}"; string connstr = @"Data Source=\My Documents\PTSystem.sdf"; using(SqlCeConnection conn = new SqlCeConnection(connstr)) { conn.Open(); string dmlPackageInfo = "SELECT * FROM Package WHERE ID = ?"; SqlCeCommand cmdGetPackageInfo = null; SqlCeDataReader drPackageInfo = null; try { cmdGetPackageInfo = new SqlCeCommand(dmlPackageInfo, conn); cmdGetPackageInfo.CommandType = CommandType.Text; cmdGetPackageInfo.Parameters.Add("ID", pckgID); cmdGetPackageInfo.Prepare(); drPackageInfo = cmdGetPackageInfo.ExecuteReader(CommandBehavior.SingleRow); while(drPackageInfo.Read()) { System.Windows.Forms.MessageBox.Show( string.Format(pckgStr, drPackageInfo.GetInt32(0), drPackageInfo.GetString(1), drPackageInfo.GetString(2))); } } catch(SqlCeException scee) { for(int curExNdx = 0; curExNdx < scee.Errors.Count; ++curExNdx) { System.Windows.Forms.MessageBox.Show( "Error:"+ scee.Errors[curExNdx].ToString()+"\n"); } } finally { if( cmdGetPackageInfo != null ) cmdGetPackageInfo.Dispose(); if( drPackageInfo != null ) drPackageInfo.Close(); } } } Truy v n có tham s có th đư c s d ng trong h u h t các câu SQL, DDL và DML. Nó có th đư c s d ng nhi u hơn m t tham s trong truy v n. Ví d , truy v n sau có th đư c s d ng đ SELECT. SELECT * FROM Package WHERE Code = ? OR DestinationID = ? Khi s d ng câu l nh SELECT cùng v i nhi u tham s , chúng ta ph i thêm đ i tư ng SqlCeParameters vào t p h p Parameters theo th t d u ? xu t hi n t trái sang ph i. Listing 5.8 Th c thi SQL command cùng v i nhi u tham s public static void GetPackageInfo(int[] pckgID) { string pckgStr = "Package Data\nID: {0}\nCode: {1}\nDestination: {2}"; string connstr = @"Data Source=\My Documents\PTSystem.sdf"; using(SqlCeConnection conn = new SqlCeConnection(connstr)) { http://voer.vn/content/m49413/1.1/
  11. Thu vien Hoc Lieu Mo Viet Nam module: m49413 11 conn.Open(); string dmlPackageInfo = "SELECT * FROM Package WHERE ID = ?"; SqlCeCommand cmdGetPackageInfo = null; SqlCeDataReader drPackageInfo = null; try { cmdGetPackageInfo = new SqlCeCommand(dmlPackageInfo, conn); cmdGetPackageInfo.CommandType = CommandType.Text; cmdGetPackageInfo.Parameters.Add("ID", SqlDbType.Int); cmdGetPackageInfo.Prepare(); for(int pckgNdx = 0; pckgNdx < pckgID.Length; ++pckgNdx) { cmdGetPackageInfo.Parameters[0].Value = pckgID[pckgNdx]; try { drPackageInfo = cmdGetPackageInfo.ExecuteReader(CommandBehavior.SingleRow); while(drPackageInfo.Read()) { System.Windows.Forms.MessageBox.Show( string.Format(pckgStr, drPackageInfo.GetInt32(0), drPackageInfo.GetString(1),drPackageInfo.GetString(2))); } } catch(SqlCeException scee) {} for(int curExNdx=0;curExNdx
  12. Thu vien Hoc Lieu Mo Viet Nam module: m49413 12 tương ng v i c t b ng CSDL ngu n. Quan h gi a DataSet và CSDL ngu n đư c bi t như là ánh x b i vì chúng ánh x đ i tư ng DataSet vào đ i tư ng CSDL. Ti p theo d li u đư c nh n v t CSDL ngu n b ng cách s d ng thu c tính SelectCommand. Cu i cùng DataRows đư c t o đ nh n d li u, và các dòng đư c trèn vào DataTables. Sau đây là đo n mã đưa d li u vào m t DataSet b ng cách s d ng SqlCeDataAdapter r t đơn gi n. Listing 5.9 mô t cách đưa d li u c a b ng Package vào DataSet b ng cách s d ng SqlCeDataAdapter. Listing 5.9 Đ ưa d l i u vào DataSet cùng v i n i dung c a b ng Package public static DataSet GetPackageDataSet() { string connstr = @"Data Source=\My Documents\PTSystem.sdf"; using(SqlCeConnection conn = new SqlCeConnection(connstr)) { conn.Open(); string dmlPackageInfo = "SELECT * FROM Package"; SqlCeDataAdapter daPackages = new SqlCeDataAdapter(); daPackages.MissingMappingAction = MissingMappingAction.Passthrough; daPackages.MissingSchemaAction = MissingSchemaAction.Add; daPackages.SelectCommand = new SqlCeCommand(dmlPackageInfo, conn); DataSet dsPackages = new DataSet(); daPackages.Fill(dsPackages); return dsPackages; } Trư c tiên t o và m m t k t n i t i CSDL SQL Server CE. Sau đó t o m t đ i tư ng SqlCeDataAdapter và thi t l p MissingMappingAction và thu c tính MissingSchemaAction. Thi t l p thu c tính m c đ nh. Ti p theo, thi t l p SelectCommand thành m t đ i tư ng SelectCommand l a ch n t t c d li u t b ng Package. Cu i cùng, t o đ i tư ng DataSet và g i phương th c SqlCeDataAdapter.Fill đ đưa d li u vào DataSet v i d li u trong b ng Package. 7 C p nh t CSDL Microsoft SQL Server CE s d ng 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. Listing 5.11 S d ng SqlCeDataAdapter đ c p nh t d l i u 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); http://voer.vn/content/m49413/1.1/
  13. Thu vien Hoc Lieu Mo Viet Nam module: m49413 13 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: Bư c1: Các giá tr c p nh t đư c n p vào t đ i tư ng DataRow trong tham s 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. Listing 5.12 C p nh t b ng Package s d ng 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 ki n c p nh t 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. 8 Đ i tư ng SqlCommand v i SqlCeCommandBuilder Trư c tiên, chúng ta c n kh i t o SqlCeDataAdapter và thu c tính SelectCommand. Sau đó chúng ta t o SqlCeCommandBuilder thông qua SqlCeDataAdapter như là tham s đ c u trúc SqlCeCommandBuilder. SqlCeCommandBuilder s t o m t câu l nh cho thu c tính UpdateCommand, InsertCommand, and DeleteCommand c a SqlCeDataAdapter. Listing5.14 mô t cách s d ng SqlCeCommandBuilder đ xây d ng m t SqlCeDataAdapter cho b ng Package. Listing 5.14 S d ng SqlCeCommandBuilder public static SqlCeDataAdapter GetPackageDataAdapter(SqlCeConnection conn) { string dmlPackageInfo = "SELECT * FROM Package"; SqlCeDataAdapter daPackages = new SqlCeDataAdapter(); daPackages.SelectCommand = new SqlCeCommand(dmlPackageInfo, conn); SqlCeCommandBuilder cmdBldr = new SqlCeCommandBuilder(daPackages); MessageBox.Show(cmdBldr.GetUpdateCommand().CommandText); MessageBox.Show(cmdBldr.GetInsertCommand().CommandText); MessageBox.Show(cmdBldr.GetDeleteCommand().CommandText); http://voer.vn/content/m49413/1.1/
  14. Thu vien Hoc Lieu Mo Viet Nam module: m49413 14 return daPackages; } http://voer.vn/content/m49413/1.1/
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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