Executescalar là gì

Chúng tôi rất vui mừng chia sẻ kiến thức sâu sắc về từ khóa Executescalar la gi để tối ưu hóa nội dung trang web và tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích từ khóa và chiến lược hiệu quả. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi để cập nhật kiến thức mới.

Các trường hợp khác nhau khi tất cả chúng ta sử dụng ba loại này là gì? Tôi nên sử dụng ở đâu và không nên dùng ở đâu?

Bạn Đang Xem: Executescalar là gì

ExecuteScalarthường được sử dụng khi truy vấn của bạn trả về một giá trị duy nhất. Nếu nó trả về nhiều hơn, thì kết quả là cột trước nhất của hàng trước nhất. Một ví dụ có thể là SELECT IDENTITY AS “Identity”.ExecuteReaderđược sử dụng cho bất kỳ tập hợp kết quả nào có nhiều hàng / cột (ví dụ SELECT col1, col2 from sometable:).ExecuteNonQuery thường được sử dụng cho những câu lệnh SQL không có kết quả (ví dụ: UPDATE, INSERT, v.v.). Tôi nghĩ ExecuteNonQuery được sử dụng khi bạn cần phải gọi các thủ tục được lưu trữ sẽ trả về một tập hợp các bảng. ExecuteNonQuery cũng hoạt động nếu như bạn có câu lệnh trả về trong thủ tục được lưu trữ. stackoverflow.com/questions/6210027/…

ExecuteNonQuery ():

sẽ chỉ hoạt động với Truy vấn hành động (Tạo, Thay đổi, Thả, Chèn, Update, Xóa).Trả về số hàng được thực hiện bởi Truy vấn.Loại trả về là intGiá trị trả về là tùy chọn và có thể được gán cho một biến số nguyên.Bạn đang xem: Executescalar là gì

ExecuteReader ():

sẽ hoạt động với Truy vấn Hành động và Không phải Hành động (Chọn)Trả về tập hợp các hàng được chọn bởi Truy vấn.Loại trả về là DataReader.Giá trị trả về là bắt buộc và nên được gán cho một đối tượng người tiêu dùng DataReader khác.

ExecuteScalar ():

sẽ hoạt động với những Truy vấn Không phải Hành động có chứa các hàm tổng hợp.Trả về giá trị hàng trước nhất và cột trước nhất của kết quả truy vấn.Loại trả về là đối tượng người tiêu dùng.Giá trị trả về là bắt buộc và nên được gán cho một biến loại bắt buộc.

URL tham chiếu:

http://nareshkamuni.blogspot.in/2012/05/what-is-difference-between.html

Mỗi cái là một kiểu thực thi khác nhau.

ExecuteScalar sẽ là loại truy vấn sẽ trả về một giá trị duy nhất.

Một ví dụ sẽ trả về một id được tạo sau khoản thời gian chèn.

INSERT INTO my_profile (Address) VALUES (“123 Fake St.”); SELECT CAST(scope_identity() AS int)

ExecuteReader cung cấp cho bạn một trình đọc tài liệu, được cho phép độc giả tất cả những cột của kết quả cùng một lúc.

Một ví dụ sẽ là lấy thông tin hồ sơ cho một hoặc nhiều người dùng.

Xem Thêm : Nắm chắc cách dùng Borrow và Lend trong tiếng Anh – Phân biệt chi tiết

SELECT * FROM my_profile WHERE id = “123456”

ExecuteNonQuery là bất kỳ SQL nào không trả về giá trị, nhưng thực sự đang thực hiện một số dạng công việc như chèn xóa hoặc sửa đổi thứ gì đó.

Một ví dụ sẽ là update hồ sơ của người dùng trong cơ sở tài liệu.

UPDATE my_profile SET Address = “123 Fake St.” WHERE id = “123456”

Có vẻ như bạn cũng có thể sử dụng ExecuteReader để thực hiện các công việc được thực hiện bởi cả ExecuteScalar & ExecuteNonQuery, vậy vì sao lại sử dụng hai cái kia? bất kỳ lợi ích hiệu suất? Một lý do để tránh lạm dụng ExecuteReader là nó sẽ lưu lại người đọc đó ở bên cạnh cho đến lúc bạn làm xong. Với tất cả những điều này, bạn muốn biết một số thông tin cụ thể về phong thái hoạt động của chúng để sử dụng chúng một cách hiệu quả nhất. Những gì tôi đã nêu ra ở đây là một số hướng dẫn tốt.

Từ các tài liệu (lưu ý: MSDN là một tài nguyên hữu ích khi chúng ta muốn biết mọi thứ hoạt động!):

ExecuteScalar

Sử dụng phương thức ExecuteScalar để truy xuất một giá trị (ví dụ: giá trị tổng hợp) từ cơ sở tài liệu. Điều này yêu cầu ít mã hơn so với sử dụng phương thức ExecuteReader, sau đó thực hiện các thao tác mà bạn cần phải để tạo ra một giá trị duy nhất bằng phương pháp sử dụng tài liệu được trả về bởi một SqlDataReader.Xem thêm:

ExecuteReader

Gửi CommandText tới Connection và tạo một SqlDataReader.

… và từ SqlDataReader …

Cung cấp cách đọc luồng hàng chỉ chuyển tiếp từ cơ sở tài liệu SQL Server. Lớp này sẽ không thể được thừa kế.

ExecuteNonQuery

Chúng ta cũng có thể sử dụng ExecuteNonQuery để thực hiện những hoạt động danh mục (ví dụ: truy vấn cấu trúc của cơ sở tài liệu hoặc tạo các đối tượng người tiêu dùng cơ sở tài liệu như bảng) hoặc để thay đổi tài liệu trong cơ sở tài liệu mà không sử dụng DataSet bằng phương pháp thực thi các câu lệnh UPDATE, INSERT hoặc DELETE.

Để thêm vào những gì người khác đã đăng:

ExecuteScalar trả về một cách khái niệm cột ngoài cùng bên trái từ hàng trước nhất của tập trung quả từ truy vấn; bạn cũng có thể ExecuteScalar một viên chức SELECT * FROM, nhưng bạn chỉ nhận được ô trước nhất của đa số hàng kết quả Thường được sử dụng cho những truy vấn trả về một giá trị duy nhất. Tôi không vững chắc 100% về SQLServer nhưng trong Oracle, bạn wouldnt sử dụng nó để chạy một CHỨC NĂNG (mã cơ sở tài liệu trả về một giá trị duy nhất) và hy vọng nó sẽ cung cấp cho bạn giá trị trả về của hàm mặc dù chức năng trả về giá trị duy nhất. . Tuy nhiên, nếu như bạn đang làm việc hàm như một phần của truy vấn, ví dụ: SELECT SUBSTR (“abc”, 1, 1) FROM DUAL thì nó sẽ cung cấp giá trị trả về do thực tế là giá trị trả về được lưu trữ ở trên cùng bên trái ô của tập hàng kết quả

ExecuteNonQuery sẽ tiến hành sử dụng để chạy các thủ tục, hàm và truy vấn được lưu trữ trong cơ sở tài liệu để sửa đổi tài liệu (CHÈN / CẬP NHẬT / XÓA) hoặc sửa đổi cấu trúc cơ sở tài liệu (TẠO BẢNG …). Thông thường, giá trị trả về của lệnh gọi là tín hiệu đã cho chúng ta biết có bao nhiêu hàng bị tác động bởi hoạt động nhưng hãy kiểm tra tài liệu DB để đảm bảo điều này

Xem Thêm : “Thời kỳ mạt Pháp” nghĩa là gì?

ExecuteReader() thực thi truy vấn SQL trả về đối tượng người tiêu dùng DBDataReader của nhà cung cấp tài liệu cung cấp quyền truy cập chỉ chuyển tiếp và chỉ đọc cho kết quả của truy vấn.

ExecuteScalar()tương tự như ExecuteReader()phương thức được thiết kế cho truy vấn singleton ví dụ như thu được số lượng bản ghi.

ExecuteNonQuery() thực thi truy vấn không hoạt động với tạo, xóa, update, chèn)

ExecuteNonQuery

Phương thức ExecuteNonQuery này sẽ chỉ được sử dụng cho những câu lệnh chèn, update và xóa, Tạo và SET. Phương thức ExecuteNonQuery sẽ trả về số hàng được thực hiện bằng các thao tác INSERT, DELETE hoặc UPDATE.

ExecuteScalar

Rất nhanh để lấy các giá trị đơn lẻ từ cơ sở tài liệu. Thực thi Scalar sẽ trả về giá trị cột đơn hàng đơn tức là giá trị đơn, khi thực hiện Truy vấn SQL hoặc thủ tục Đã lưu trữ bằng đối tượng người tiêu dùng lệnh. ExecuteReader

Execute Reader sẽ tiến hành sử dụng để trả về tập hợp các hàng khi thực hiện Truy vấn SQL hoặc thủ tục Đã lưu trữ bằng đối tượng người tiêu dùng lệnh. Cái này chỉ chuyển tiếp truy xuất các bản ghi và nó được sử dụng để đọc các giá trị bảng từ trước nhất đến cuối cùng.

Phương thức ExecuteNonQuery sẽ trả về số hàng được thực hiện bằng các thao tác INSERT, DELETE hoặc UPDATE. Phương thức ExecuteNonQuery này sẽ chỉ được sử dụng cho những câu lệnh chèn, update và xóa, Tạo và SET. (Đọc thêm)

ExecuteScalar sẽ trả về giá trị cột đơn hàng đơn tức là giá trị đơn, khi thực hiện Truy vấn SQL hoặc thủ tục Đã lưu trữ bằng đối tượng người tiêu dùng lệnh. Rất nhanh để lấy các giá trị đơn lẻ từ cơ sở tài liệu. (Đọc thêm)

ExecuteReader sẽ tiến hành sử dụng để trả về tập hợp các hàng khi thực hiện Truy vấn SQL hoặc thủ tục Đã lưu trữ bằng đối tượng người tiêu dùng lệnh. Cái này chỉ chuyển tiếp truy xuất các bản ghi và nó được sử dụng để đọc các giá trị bảng từ trước nhất đến cuối cùng. (Đọc thêm)

ExecuteNonQuery: thường được sử dụng khi không có gì trả về từ các câu lệnh Sql như các thao tác chèn, update, xóa.Xem thêm: Nguyên Nhân Không Có Phôi Thai Là Gì Và 4 Điều Liên Quan Có Thể Bạn Chưa Biết

cmd.ExcecuteNonQuery();ExecuteScalar:

Nó sẽ tiến hành sử dụng khi truy vấn Sql trả về một giá trị duy nhất.

Int b = cmd.ExcecuteScalar();ExecuteReader

Nó sẽ tiến hành sử dụng khi truy vấn Sql hoặc Thủ tục đã lưu trữ trả về nhiều hàng / cột

SqlDataReader dr = cmd.ExecuteReader();để biết thêm thông tin, bạn cũng có thể nhấp vào đây http://www.dotnetqueries.com/Article/148/-difference-between-executescalar-executereader-executenonquery

Khi sử dụng website của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật thông tin của chúng tôi.

You May Also Like

About the Author: v1000