Cơ sở dữ liệu Trong Microsoft .NET Framework phần 2
Số trang: 8
Loại file: pdf
Dung lượng: 185.88 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bạn cần thực thi một câu lệnh SQL hoặc một thủ tục tồn trữ trên một cơ sở dữ liệu. Tạo một đối tượng câu lệnh phù hợp với kiểu cơ sở dữ liệu mà bạn định sử dụng; tất cả các đối tượng câu lệnh đều hiện thực giao diện
Nội dung trích xuất từ tài liệu:
Cơ sở dữ liệu Trong Microsoft .NET Framework phần 2 1.1 Thực thi câu lệnh SQL hoặc thủ tục tồn trữ Bạn cần thực thi một câu lệnh SQL hoặc một thủ tục tồn trữ trên một cơ sở dữ liệu. Tạo một đối tượng câu lệnh phù hợp với kiểu cơ sở dữ liệu mà bạn định sử dụng; tất cả các đối tượng câu lệnh đều hiện thực giao diện System.Data.IDbCommand. Cấu hình đối tượng câu lệnh bằng cách thiết lập các thuộc tính CommandType và CommandText của nó. Thực thi câu lệnh bằng một trong các phương thức ExecuteNonQuery, ExecuteReader, hay ExecuteScalar tùy thuộc vào kiểu câu lệnh và kết quả của nó.Giao diện IDbCommand mô tả một câu lệnh cơ sở dữ liệu, và mỗi data-provider chứamột hiện thực duy nhất. Dưới đây là danh sách các hiện thực IDbCommand cho nămdata-provider chuẩn: • System.Data.Odbc.OdbcCommand • System.Data.OleDb.OleDbCommand • System.Data.OracleClient.OracleCommand • System.Data.SqlServerCe.SqlCeCommand • System.Data.SqlClient.SqlCommandĐể thực thi một câu lệnh dựa trên một cơ sở dữ liệu, bạn phải có một kết nối đang mở (đãđược thảo luận trong mục 10.1) và một đối tượng câu lệnh đã được cấu hình phù hợp vớikiểu cơ sở dữ liệu đang truy xuất. Bạn có thể tạo đối tượng câu lệnh một cách trực tiếpbằng phương thức khởi dựng, nhưng cách đơn giản hơn là sử dụng phương thứcCreateCommand của đối tượng kết nối. Phương thức CreateCommand trả về một đốitượng câu lệnh (đúng kiểu data-provider) và cấu hình nó với các thông tin cơ sở được lấytừ kết nối mà bạn đã sử dụng để tạo câu lệnh. Trước khi thực thi câu lệnh, bạn phải cấuhình các thuộc tính được mô tả trong bảng 10.3[Bảng 10.3 Các thuộc tính thông dụng của đối tượng câu lệnh Thuộc tính Mô tả Chuỗi chứa câu lệnh SQL hoặc tên của thủ tục tồn trữ. CommandText Nội dung của thuộc tính CommandText phải tương thích với giá trị bạn chỉ định trong thuộc tính CommandType. Số nguyên (int) chỉ định số giây đợi câu lệnh trả về trước CommandTimeout khi hết thời gian và ngoại lệ xảy ra. Mặc định là 30 giây. Một giá trị thuộc kiểu liệt kê System.Data.CommandType, chỉ định kiểu câu lệnh được mô tả bởi đối tượng câu lệnh. Đối với hầu hết các data-provider, giá trị hợp lệ là StoredProcedure (khi bạn muốn thực thi một thủ tục tồn trữ), và Text (khi bạn CommandType muốn thực thi một câu lệnh SQL dạng text). Nếu đang sử dụng OLE DB Data Provider, bạn có thể chỉ định TableDirect khi muốn trả về toàn bộ nội dung của một hoặc nhiều bảng; hãy tham khảo tài liệu .NET Framework SDK để biết thêm chi tiết. Mặc định là Text. Đối tượng IDbConnection, cung cấp kết nối đến cơ sở dữ liệu mà bạn sẽ thực thi câu lệnh trên đó. Nếu bạn tạo câu Connection lệnh bằng phương thức IDbConnection.CreateCommand, thuộc tính này sẽ tự động được thiết lập thành đối tượng IDbConnection mà bạn đã tạo câu lệnh từ nó. Đối tượng System.Data.IDataParameterCollection, chứa Parameters tập các thông số để thay thế vào câu lệnh (xem mục 10.4 để biết cách sử dụng thông số). Đối tượng System.Data.IDbTransaction, mô tả phiên giao dịch mà câu lệnh được đưa vào đó (xem tài liệu Transaction .NET Framework SDK để biết thêm chi tiết về phiên giao dịch).Một khi bạn đã cấu hình đối tượng câu lệnh thì có nhiều cách để thực thi nó, tùy thuộcvào bản chất của câu lệnh, kiểu dữ liệu do câu lệnh trả về, và bạn muốn xử lý dữ liệu theođịnh dạng nào.Để thực thi một câu lệnh như INSERT, DELETE, hoặc CREATE TABLE (không trảvề dữ liệu trong cơ sở dữ liệu), bạn hãy gọi ExecuteNonQuery. Đối với các câu lệnhUPDATE, INSERT, và DELETE, phương thức ExecuteNonQuery trả về một số nguyêncho biết số hàng bị tác động bởi câu lệnh. Đối với các câu lệnh khác như CREATETABLE, ExecuteNonQuery trả về -1. Ví dụ dưới đây sử dụng UPDATE để chỉnh sửamột bản ghi.public static void ExecuteNonQueryExample(IDbConnection con) { // Tạo và cấu hình câu lệnh mới. IDbCommand com = con.CreateCommand(); com.CommandType = CommandType.Text; com.CommandText = UPDATE Employees SET Title = Sales Director + WHERE EmployeeId = 5; // Thực thi câu lệnh và xử lý kết quả. int result = com.ExecuteNonQuery(); if (result == 1) { Console.WriteLine(Employee title updated.); } else { Con ...
Nội dung trích xuất từ tài liệu:
Cơ sở dữ liệu Trong Microsoft .NET Framework phần 2 1.1 Thực thi câu lệnh SQL hoặc thủ tục tồn trữ Bạn cần thực thi một câu lệnh SQL hoặc một thủ tục tồn trữ trên một cơ sở dữ liệu. Tạo một đối tượng câu lệnh phù hợp với kiểu cơ sở dữ liệu mà bạn định sử dụng; tất cả các đối tượng câu lệnh đều hiện thực giao diện System.Data.IDbCommand. Cấu hình đối tượng câu lệnh bằng cách thiết lập các thuộc tính CommandType và CommandText của nó. Thực thi câu lệnh bằng một trong các phương thức ExecuteNonQuery, ExecuteReader, hay ExecuteScalar tùy thuộc vào kiểu câu lệnh và kết quả của nó.Giao diện IDbCommand mô tả một câu lệnh cơ sở dữ liệu, và mỗi data-provider chứamột hiện thực duy nhất. Dưới đây là danh sách các hiện thực IDbCommand cho nămdata-provider chuẩn: • System.Data.Odbc.OdbcCommand • System.Data.OleDb.OleDbCommand • System.Data.OracleClient.OracleCommand • System.Data.SqlServerCe.SqlCeCommand • System.Data.SqlClient.SqlCommandĐể thực thi một câu lệnh dựa trên một cơ sở dữ liệu, bạn phải có một kết nối đang mở (đãđược thảo luận trong mục 10.1) và một đối tượng câu lệnh đã được cấu hình phù hợp vớikiểu cơ sở dữ liệu đang truy xuất. Bạn có thể tạo đối tượng câu lệnh một cách trực tiếpbằng phương thức khởi dựng, nhưng cách đơn giản hơn là sử dụng phương thứcCreateCommand của đối tượng kết nối. Phương thức CreateCommand trả về một đốitượng câu lệnh (đúng kiểu data-provider) và cấu hình nó với các thông tin cơ sở được lấytừ kết nối mà bạn đã sử dụng để tạo câu lệnh. Trước khi thực thi câu lệnh, bạn phải cấuhình các thuộc tính được mô tả trong bảng 10.3[Bảng 10.3 Các thuộc tính thông dụng của đối tượng câu lệnh Thuộc tính Mô tả Chuỗi chứa câu lệnh SQL hoặc tên của thủ tục tồn trữ. CommandText Nội dung của thuộc tính CommandText phải tương thích với giá trị bạn chỉ định trong thuộc tính CommandType. Số nguyên (int) chỉ định số giây đợi câu lệnh trả về trước CommandTimeout khi hết thời gian và ngoại lệ xảy ra. Mặc định là 30 giây. Một giá trị thuộc kiểu liệt kê System.Data.CommandType, chỉ định kiểu câu lệnh được mô tả bởi đối tượng câu lệnh. Đối với hầu hết các data-provider, giá trị hợp lệ là StoredProcedure (khi bạn muốn thực thi một thủ tục tồn trữ), và Text (khi bạn CommandType muốn thực thi một câu lệnh SQL dạng text). Nếu đang sử dụng OLE DB Data Provider, bạn có thể chỉ định TableDirect khi muốn trả về toàn bộ nội dung của một hoặc nhiều bảng; hãy tham khảo tài liệu .NET Framework SDK để biết thêm chi tiết. Mặc định là Text. Đối tượng IDbConnection, cung cấp kết nối đến cơ sở dữ liệu mà bạn sẽ thực thi câu lệnh trên đó. Nếu bạn tạo câu Connection lệnh bằng phương thức IDbConnection.CreateCommand, thuộc tính này sẽ tự động được thiết lập thành đối tượng IDbConnection mà bạn đã tạo câu lệnh từ nó. Đối tượng System.Data.IDataParameterCollection, chứa Parameters tập các thông số để thay thế vào câu lệnh (xem mục 10.4 để biết cách sử dụng thông số). Đối tượng System.Data.IDbTransaction, mô tả phiên giao dịch mà câu lệnh được đưa vào đó (xem tài liệu Transaction .NET Framework SDK để biết thêm chi tiết về phiên giao dịch).Một khi bạn đã cấu hình đối tượng câu lệnh thì có nhiều cách để thực thi nó, tùy thuộcvào bản chất của câu lệnh, kiểu dữ liệu do câu lệnh trả về, và bạn muốn xử lý dữ liệu theođịnh dạng nào.Để thực thi một câu lệnh như INSERT, DELETE, hoặc CREATE TABLE (không trảvề dữ liệu trong cơ sở dữ liệu), bạn hãy gọi ExecuteNonQuery. Đối với các câu lệnhUPDATE, INSERT, và DELETE, phương thức ExecuteNonQuery trả về một số nguyêncho biết số hàng bị tác động bởi câu lệnh. Đối với các câu lệnh khác như CREATETABLE, ExecuteNonQuery trả về -1. Ví dụ dưới đây sử dụng UPDATE để chỉnh sửamột bản ghi.public static void ExecuteNonQueryExample(IDbConnection con) { // Tạo và cấu hình câu lệnh mới. IDbCommand com = con.CreateCommand(); com.CommandType = CommandType.Text; com.CommandText = UPDATE Employees SET Title = Sales Director + WHERE EmployeeId = 5; // Thực thi câu lệnh và xử lý kết quả. int result = com.ExecuteNonQuery(); if (result == 1) { Console.WriteLine(Employee title updated.); } else { Con ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kĩ thuật lập trình ngôn ngữ lập trình ngôn ngữ C# C# Cơ sở dữ liệu Trong Microsoft .NET Framework phần 2Gợi ý tài liệu liên quan:
-
52 trang 429 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 311 0 0 -
74 trang 294 0 0
-
96 trang 290 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 288 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 278 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 272 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 271 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 262 0 0