ADO.NET - ADO.NET SqlCommand 

Lớp  ADO.NET SqlCommand 

Lớp này thường được sử dụng để thực thi các câu lệnh SQL. Nó là một lớp sealed (niêm phong) nên không thể kế thừa.

SqlCommand 

public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable, IDisposable  

Lớp này cung cấp các phương thức thiết lập sau:

Constructor Description
SqlCommand() Đươc sử dụng tạo một đối tượng mới.
SqlCommand(String) Đươc sử dụng tạo một đối tượng mới có một chuỗi tham số.
SqlCommand(String, SqlConnection) Đươc sử dụng tạo một đối tượng mới có hai tham số. tham số đầu tiên là chuỗi truy vấn, tham số thứ 2 là chuỗi kết nối.
SqlCommand(String, SqlConnection, SqlTransaction) Đươc sử dụng tạo một đối tượng mới có ba tham số. tham số đầu tiên là chuỗi truy vấn, tham số thứ 2 là chuỗi kết nối, tham số thứ 3 là một transaction.
SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) Đươc sử dụng tạo một đối tượng mới có : command text, connection, transaction, and encryption setting.

Các phương thức trong SQLCommand

Phương thức Mô tả
BeginExecuteNonQuery() được sử dụng để bắt đầu thực thi không đồng bộ câu lệnh SQL được khai báo  bởi SqlCommand .
Cancel() Hủy thực thi trong đối tượng SqlCommand.
Clone() Tạo ra một đối tượng mới từ đối tượng hiện hành.
CreateParameter() Tạo một đối tượng mới  SqlParameter.
ExecuteReader()

Trả về đối tượng SqlDataReader - thường dùng cho việc đọc kết quả trả về của câu lệnh SQL là 1 tập hợp gồm nhiều hàng, nhiều cột - đối tượng này sẽ được giới thiệu kỹ hơn trong phần sau.

ExecuteNonQuery()

Trả về số hàng bị ảnh hưởng bởi câu lệnh SQL. Thường được sử dụng với các câu lệnh không trả về dữ liệu như Insert, delete, update,...

ExecuteXmlReader()

Trả về đối tượng XmlReader - thường dùng để đọc kết quả trả về của câu lệnh SQL được lưu trữ ở dạng XML.

ExecuteScalar()

Trả về hàng đầu tiên, cột đầu tiên của (một tập hợp) kết quả, các hàng/cột còn lại (nếu có) sẽ bị bỏ qua. Thường được sử dụng với các câu lệnh chỉ trả về 1 hàng, 1 cột kết quả (vd đếm số lượng nhân viên trong công ty).

Prepare() It is used to create a prepared version of the command by using the instance of SQL Server.
ResetCommandTimeout()

Được sử dụng để đặt lại thuộc tính CommandTimeout về giá trị mặc định.

Ví dụ

Trong ví dụ này, chúng ta dùng đối tượng SqlCommand thự thi câu lệnh SQL.

// Program.cs

using System;  
using System.Data.SqlClient;  
namespace AdoNetConsoleApplication  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            new Program().CreateTable();  
        }  
        public void CreateTable()  
        {  
            SqlConnection con = null;  
            try  
            {  
                // Creating Connection  
                con = new SqlConnection("data source=.; database=student; integrated security=SSPI");  
                // writing sql query  
                SqlCommand cm = new SqlCommand("select * from student", con);  
                // Opening Connection  
                con.Open();  
                // Executing the SQL query  
                SqlDataReader sdr = cm.ExecuteReader();  
                while (sdr.Read())  
                {  
                    Console.WriteLine(sdr["name"]+" "+ sdr["email"]);  
                }  
            }  
            catch (Exception e)  
            {  
                Console.WriteLine("OOPs, something went wrong." + e);  
            }  
            // Closing the connection  
            finally  
            {  
                con.Close();  
            }  
        }  
    }  
}  

Kết quả:

ADO Net Sqlcommand Class 1

Xuất tên và email sinh viên