Command trong ADO.NET•Đối tượng Command dùng để thực hiện câu lệnh SQL hoặc thủ tục nội tại stored procedure •Thực hiện ExecuteScalar: kết quả trả về là một giá trị •Thực hiện Execute
Trang 2Truy vấn và cập nhật CSDL bằng
đối tượng Command
1.Các Command trong ADO.NET
2.Sử dụng Command có tham số
Trang 31 Command trong ADO.NET
•Đối tượng Command dùng để thực hiện câu
lệnh SQL hoặc thủ tục nội tại ( stored procedure )
•Thực hiện ExecuteScalar: kết quả trả về là một giá trị
•Thực hiện ExecuteReader: kết quả trả về là
một tập các dòng
•Thực hiện ExecuteNonQuery: kết quả trả về là
số dòng bị ảnh hưởng
Trang 4Ví dụ các phương thức thực hiện
•Thực hiện ExecuteScalar: SELECT COUNT(*) FROM …
•Thực hiện ExecuteReader: SELECT * FROM …
•Thực hiện ExecuteNonQuery: INSERT INTO …
Trang 5Các Command trong NET
•System.Data.SqlClient.SqlCommand
•System.Data.OleDbClient.OleDbCommand
•System.Data.Odbc.OdbcCommand
•System.Data.OracleClient.OracleCommand
Trang 6Khai báo và khởi tạo Command
•Thuộc tính CommandText
−Là câu lệnh SQL hoặc tên thủ tục nội tại
•Thuộc tính CommandType
−Mặc định là Text, tương ứng là câu lệnh SQL
−Là StoredProcedure khi là tên thủ tục nội tại
•Thuộc tính Connection
−Đối tượng kết nối CSDL
Trang 7Cho thực hiện Command
•Khai báo và khởi tạo Command
−Các thuộc tính CommandText, CommandType,
Connection
•Thực hiện
−Phải mở Connection trước khi thực hiện lệnh
−Các phương thức ExecuteScalar, ExecuteReader,
ExecuteNonQuery
−Phải đóng Connection sau khi thực hiện lệnh
Trang 8Tạo đối tượng Command
•Khai báo và khởi tạo
using System.Data.SqlClient;
‘Tạo chuỗi lệnh
string lenh = “select count(*) from production.product”;
‘Tạo đối tượng bộ lệnh
SqlCommand bo_lenh = new SqlCommand(lenh, ket_noi);
Trang 9Thực hiện câu lệnh
•Mở đối tượng Connection
•Thực hiện câu lệnh và xử lý kết quả
•Đóng đối tượng Connection
ket_noi.Open();
int n = (int)bo_lenh.ExecuteScalar();
ket_noi.Close();
TextBox1.Text = "Số sản phẩm : " + n.ToString();
Trang 10Minh họa sử dụng Command
•Thực hiện câu lệnh với ExecuteScalar
•Thực hiện câu lệnh với ExecuteReader
•Thực hiện câu lệnh với ExecuteNonQuery
Trang 112 Sử dụng Command có tham số
•Khai báo các tham số (Parameter)
•Khởi tạo các thuộc tính cho tham số
•Gắn các tham số cho Command
•Thực hiện Command
•Nhận kết quả ứng với các tham số loại đầu ra (output) hoặc tham số trả về (return)
Trang 12Các Parameter trong NET
•System.Data.SqlClient.SqlParameter
•System.Data.OleDbClient.OleDbParameter
•System.Data.Odbc.OdbcParameter
•System.Data.OracleClient.OracleParameter
Trang 13Các thuộc tính của tham số
•ParameterName
•DbType
•Size
•Direction
•Value
Trang 14Gắn các Parameter cho Command
•Command có thuộc tính tập hợp Parameters
•Thuộc tính Parameters chứa danh sách các
tham số của Command
•Sử dụng phương thức Add của thuộc tính
Parameters để gắn các tham số cho Command
Trang 15Minh họa Command có tham số
•Tham số đầu vào (input)
•Tham số đầu ra (output)
Trang 16Thực hành 1
•Thực hiện câu lệnh trả về một giá trị
(ExecuteScalar)
•Thực hiện câu lệnh trả về một tập hợp các
dòng (ExecuteReader)
Trang 17Thực hành 2
•Thực hiện câu lệnh truy vấn có tham số
•Thực hiện thủ tục nội tại có tham số
Trang 18Thực hành 3
•Thực hiện câu lệnh tạo bảng
•Thực hiện câu lệnh cập nhật dữ liệu
•Thực hiện câu lệnh xóa bảng