Executescalar Là Gì

     

Các trường hợp khác biệt khi họ sử dụng ba loại này là gì? Tôi phải sử dụng chỗ nào và không nên dùng sống đâu?

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

ExecuteNonQuery ():

sẽ chỉ hoạt động với truy hỏi vấn hành vi (Tạo, nạm đổi, Thả, Chèn, Cập nhật, Xóa).Trả về số mặt hàng được triển khai bởi tầm nã vấn.Loại trả về là intGiá trị trả về là tùy lựa chọn và có thể được gán cho một trở nên số nguyên.

Bạn đang xem: Executescalar là gì

Bạn đã xem: Executescalar là gì

ExecuteReader ():

sẽ hoạt động với truy vấn 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 do Truy vấn.Loại trả về là DataReader.Giá trị trả về là bắt buộc và nên được gán đến một đối tượng người dùng DataReader khác.

ExecuteScalar ():

sẽ hoạt động với các Truy vấn không phải hành vi có chứa các hàm tổng hợp.Trả về giá trị bậc nhất tiên và cột trước tiên của công dụng truy vấn.Loại trả về là đối tượng.Giá trị trả về là phải và buộc phải được gán đến một đổi thay 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à 1 trong những kiểu thực thi khác nhau.

ExecuteScalar vẫn là loại truy vấn đang trả về một quý hiếm duy nhất.

Một ví dụ vẫn trả về một id được tạo sau khi 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 hiểu dữ liệu, chất nhận được bạn đọc toàn bộ các cột của tác dụng cùng một lúc.

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

SELECT * FROM my_profile WHERE id = “123456”

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

Một ví dụ đã là update hồ sơ của người tiêu dùng trong đại lý dữ liệu.

Xem thêm: Tai Sao Mặt Một Bên To Một Bên Nhỏ Chỉ Vì Bạn Có Thói Quen Này

UPDATE my_profile phối Address = “123 fake St.” WHERE id = “123456”

có vẻ như bạn có thể sử dụng ExecuteReader để tiến hành các quá trình được triển khai bởi cả ExecuteScalar và ExecuteNonQuery, vậy tại sao lại sử dụng hai cái kia? ngẫu nhiên lợi ích hiệu suất? Một nguyên nhân để kị lạm dụng ExecuteReader là nó sẽ giữ người đọc kia ở cạnh bên cho đến khi chúng ta làm xong. Với tất cả những điều này, bạn muốn biết một trong những thông tin ví dụ về cách hoạt động vui chơi của chúng để thực hiện chúng một cách tác dụng nhất. Hầu như gì tôi đã nêu ra ở đó là một số lý giải tốt.

Từ những tài liệu (lưu ý: MSDN là 1 trong tài nguyên hữu dụng khi bạn có nhu cầu biết đa số thứ hoạt động!):

ExecuteScalar

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

ExecuteReader

Gửi CommandText tới Connection và sản xuất một SqlDataReader.

… và từ SqlDataReader …

Cung cấp bí quyết đọc luồng sản phẩm chỉ chuyến qua từ cơ sở dữ liệu SQL Server. Lớp này không thể được thừa kế.

ExecuteNonQuery

Bạn có thể sử dụng ExecuteNonQuery để thực hiện các vận động danh mục (ví dụ: truy tìm vấn cấu tạo của cơ sở tài liệu hoặc chế tạo các đối tượng cơ sở tài liệu như bảng) hoặc để biến đổi dữ liệu vào cơ sở tài liệu mà không áp dụng DataSet bằng phương pháp thực thi những câu lệnh UPDATE, INSERT hoặc DELETE.

Để thêm vào mọi gì người khác sẽ đăng:

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

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

ExecuteReader() thực thi truy vấn SQL trả về đối tượng người sử dụng DBDataReader trong phòng cung cung cấp dữ liệu hỗ trợ quyền truy vấn chỉ chuyến qua và chỉ phát âm cho tác dụng của truy tìm vấn.

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

ExecuteNonQuery() tiến hành truy vấn không hoạt động với tạo, xóa, cập nhật, chèn)

ExecuteNonQuery

Phương thức ExecuteNonQuery này đã chỉ được sử dụng cho các câu lệnh chèn, cập nhật và xóa, tạo nên và SET. Cách làm ExecuteNonQuery sẽ trả về số mặt 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á bán trị riêng biệt từ cơ sở dữ liệu. Thực hiện Scalar sẽ trả về cực hiếm cột giao dịch đơn có nghĩa là giá trị đơn, khi tiến hành Truy vấn SQL hoặc thủ tục Đã tàng trữ bằng đối tượng người sử dụng lệnh. ExecuteReader

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

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

ExecuteScalar đang trả về cực hiếm cột giao dịch đơn tức là giá trị đơn, khi triển khai Truy vấn SQL hoặc giấy tờ thủ tục Đã tàng trữ bằng đối tượng người sử dụng lệnh. Rất nhanh để lấy các giá bán trị riêng lẻ từ các đại lý dữ 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 tiến hành Truy vấn SQL hoặc thủ tục Đã tàng trữ bằng đối tượng người tiêu dùng lệnh. Tính năng này chỉ chuyển tiếp truy xuất các bạn dạng ghi và nó được áp dụng để đọc các giá trị bảng từ đầu tiên đến cuối cùng. (Đọc thêm)

ExecuteNonQuery: hay được sử dụng khi không có gì trả về từ những câu lệnh Sql như các làm việc chèn, cập nhật, xóa.

Xem thêm: Thân Cư Thiên Di Nghĩa Là Gì, An Sao Tử Vi Của Mẫu Người Thân Cư Cung Thiên Di

cmd.ExcecuteNonQuery();ExecuteScalar:

Nó sẽ tiến hành sử dụng lúc truy vấn Sql trả về một quý hiếm duy nhất.

Int b = cmd.ExcecuteScalar();ExecuteReader

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

SqlDataReader dr = cmd.ExecuteReader();để hiểu 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

lúc sử dụng website của bọn chúng tôi, bạn xác nhận rằng chúng ta đã đọc cùng hiểu chế độ cookie và chế độ bảo mật của chúng tôi.