Danh mục

Sử dụng ObjectDataSource với lớp truy cập CSDL

Số trang: 7      Loại file: pdf      Dung lượng: 464.79 KB      Lượt xem: 8      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong bài viết này, các bạn sẽ biết cách sử dụng ObjectDataSource vơi lớp Truy cập CSDL, DA.dll. Ứng dụng được viết bằng ngôn ngũ C# và T - SQL. Các điều khiển ObjectDataSource có thể giúp bạn giảm một số lượng các dòng code một cách đáng kể, và cả thời gian nữa chứ. Công việc mà chúng ta phải làm theo các bước sau: Bind một điều khiển ObjectDataSource tới điều khiển GridView mà cho phép Select, insert, update và delete đối với bảng có tên là S_PERSON (với 3 cột Person_ID là khóa chính, FirstName và LastName)....
Nội dung trích xuất từ tài liệu:
Sử dụng ObjectDataSource với lớp truy cập CSDL Sử dụng ObjectDataSource với lớp truy cập CSDL . Trong bài viết này, các bạn sẽ biết cách sử dụng ObjectDataSource vơi lớp Truy cập CSDL, DA.dll. Ứng dụng được viết bằng ngôn ngũ C# và T - SQL. Các điều khiển ObjectDataSource có thể giúp bạn giảm một số lượng các dòng code một cách đáng kể, và cả thời gian nữa chứ. Công việc mà chúng ta phải làm theo các bước sau: Bind một điều khiển ObjectDataSource tới điều khiển GridView mà cho phép Select, insert, update và delete đối với bảng có tên làS_PERSON (với 3 cột Person_ID là khóa chính, FirstName và LastName). Ta sử dụng Asemblyđã được biên dịch để truy cập CSDL và Stored Procedure để thao tác với bảng S_PERSON.Thêm một form có tên là Person trong project của bạn. tạo tham chiều đến DA.dll (nếu có sẵn rồithì không cần nữa); Thêm một lớp có tên là BL_Main.cs vào thư mục App_Code. Project củachúng ta sẽ như hình bên dưới. (Đừng để ý đến các lớp khác và thư mục khác, đó chỉ là phần testcủa tôi.)Hình Ảnh 1.tạo một form có tên là Person gồm các điều khiển theo hình thứ 2:Hình Ảnh 2:Bây giờ, chúng ta đã sẵn sàng viết code cho các lớp và Stored Procedure. Chúng ta sẽ làm chi tiếttrường hợp Update. bởi vì đó là nhiệm vụ khá thú vị và phức tạp. Để update bảng, chúng ta cầnphải truyền vào ít nhất 4 tham số; 3 tham số cho việc update và 1 tham số cho khóa chính (Đốivới hàng được update) chúng ta sẽ nhận được vài thông báo khi update.Trước tiên, chúng ta sẽ viết Stored Procedure có tên là úp_S_PERSON_Update, cho phép chúngta update bảng S_PERSON. Để cho đơn giản hơn, chúng ta sẽ không sử dụng Try - catch vàcác bẫy lỗi. Stored của chúng ta sẽ như sau:USE MICLIV;GOIF OBJECT_ID ( [dbo].[usp_S_Persons_Update], P ) IS NOT NULLDROP PROCEDURE dbo.usp_S_Persons_Update;GOCREATE PROCEDURE dbo.usp_S_Persons_Update@original_Person_ID nvarchar(9),@Person_ID nvarchar(9),@FirstName nvarchar(50),@LastName nvarchar(50)ASif(not exists(select 1 from dbo.S_Persons where Person_ID = @Person_ID and@original_Person_ID @Person_ID))beginupdate dbo.S_PersonssetPerson_ID = @Person_ID,LastName = @LastName,FirstName = @FirstNamewhere Person_ID = @original_Person_ID;endGOTương tự như vậy, ta viết các stored khác procedures usp_S_Persons_Insert,usp_S_Persons_Select, usp_S_Persons_Delete.Bây giờ chúng ta đã có các Stored và sãn sàng viết code cho lớp BL_Main. Class này sẽ phù hợpvới việc Bind đến ObjectDataSource, chúng ta sẽ thêm các thuộc tính:[DataObject(true)]public class BL_Main{------------------------Nếu chúng ta check vào hộp Show Only Data Components thì chúng ta sẽ chỉ nhìn thấy lớpduy nhất của mình.Hình Ảnh 3:Bây giờ, ta sử dụng DA.dll (hãy nhớ rằng chúng ta đã tạo tham chiếu đến nó). Chúng ta sẽ viếtphương thức usp_S_Persons_Update cho việc update dữ liệuusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.ComponentModel;using System.Collections.Generic;/// /// Summary description for BL_Main/// [DataObject(true)]public class BL_Main{public BL_Main(){//// TODO: Add constructor logic here//}#region forClassDA.DataAccess data_Acc = new DA.DataAccess(ConfigurationManager.ConnectionStrings[MICLIVConnectionString].ConnectionString);#endregion[DataObjectMethod(DataObjectMethodType.Update)]public string usp_S_Persons_Update(string original_Person_ID,string Person_ID, string FirstName, string LastName){string sNameSP = usp_S_Persons_Update;List ListSqlParam = new List();SqlParameter sqlParam0 = new SqlParameter(@original_Person_ID, original_Person_ID);ListSqlParam.Add(sqlParam0);SqlParameter sqlParam1 = new SqlParameter(@Person_ID, Person_ID);ListSqlParam.Add(sqlParam1);SqlParameter sqlParam2 = new SqlParameter(@FirstName, FirstName);ListSqlParam.Add(sqlParam2);SqlParameter sqlParam3 = new SqlParameter(@LastName, LastName);ListSqlParam.Add(sqlParam3);return (data_Acc.execNonQuery(ListSqlParam, sNameSP));}//Similar code for usp_S_Persons_Delete,usp_S_Persons_Insert,//usp_S_Persons_Select methods}như đã thấy, chúng ta se sử dụng thuộc tính[DataObjectMethod(DataObjectMethodType.Update)] đểu cho phép chỉ lựa chọn phương thứcđó vcho việc update, xem hình 4Hình Ảnh 4:Chúng ta sẽ sử dụng thuộc tình tương tự cho việc select, insert và deleteCó một số chú ý về tham số original_Person_ID. (hãy xem Storef ở bên dưới) Trường khóachính có thể được update (Chúng ta cần giá trị khóa ban đầu để nhận các bản g ...

Tài liệu được xem nhiều: