Danh mục

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    
tailieu_vip

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 ...

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