EXECUTENONQUERY LÀ GÌ

  -  

Tạo đối tượng người sử dụng SqlComm& vào C# để truy hỏi vấn với cập nhật tới CSDL Squốc lộ Server, tiến hành lệnh cùng với các phương thức ExecuteNonQuery, ExecuteScalar, ExecuteReader


Lớp SqlCommand - Khởi tạo ra đối tượng người dùng SqlCommand

Lớp SqlComm& triển khai từ DbCommand cho phép tạo ra đối tượng cơ mà tự kia rất có thể thực hiện các lệnh SQL liên hệ với MS Squốc lộ Server nlỗi những mệnh đề UPDATE|INSERT|CREATE TABLE|SELECT ...

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

cũng tương tự cho phép thi hành các hàm, những stored procedure của Database.

Chú ý: Nếu áp dụng MySquốc lộ thì đối tượng tiến hành DbCommvà là MySqlCommvà, gồm phương pháp áp dụng một cách tựa như.

Để lập cập gồm một MS SQL Server kèm tài liệu mẫu mã, hãy sử dụng Docker và thực hiệntheo hướng dẫn: MS SQL Server bên trên Docker

Để tạo cùng thực hành được SqlCommand thì cần thiết lập mang lại nó câu lệnh SQL (truy hỏi vấn), và những tyêu thích số mang lại lệnh Squốc lộ kia, đồng thời cần cấu hình thiết lập công bố liên kết đến SQL Server SqlConnection vào đối tượng người sử dụng SqlCommand.

Xem thêm: Tìm Hiểu Về Ba Vị Thần Ai Cập Trong Yugioh!, Những Lá Bài Thần Thánh Trong Yu

lấy ví dụ như, khởi tạo thành SqlCommand - thiết lập ngay câu query với kết nối

var cmd = new SqlCommand(queryString, connection);Có thể khởi chế tạo ra SqlCommand kế tiếp new tùy chỉnh những thông số kỹ thuật (câu truy vấn, kết nối và các tham mê số ...) rồi tiếp đến tiến hành SqlComm& (thực hiện tầm nã vấn SQL)


"Data Source=localhost,1433; Initial Catalog=xtlab; User ID=SA;Password=Password123"; var connection = new SqlConnection(sqlconnectstring); connection.Open(); // Tạo đối tượng DbCommand using var comm& = new SqlCommand(); commvà.Connection = connection; // select, insert, update, delete command.CommandText = "Mệnh đề tầm nã vấn SQL"; // Thực hiện nay những câu truy vấn vấn, gọi tác dụng // ... // ... connection.Close(); Từ đối tượng người sử dụng SqlConnection cũng hoàn toàn có thể sản xuất ngay đối tượng người dùng SqlComm& lắp cùng với liên kết đó:

using (var cmd = connection.CreateCommand()) cmd.CommandText = queryString; // thực hiện lệnh ... Vậy nên để thực hành lệnh SQL với SqlCommand, thì cần có một kết nối trước (SqlConnection), rồi tạo ra đối tượng người dùng SqlComm&, gán đến nó kết nối, câu lệnh SQL sau đó new thi hành được. Để thực hành, call một trong các cách tiến hành nhỏng ExecuteScalar, ExecuteNonQuery, ExecuteReader ... trình bày ngơi nghỉ mục phía dưới

Thiết lập các tsi số đến SqlCommmand

Các câu lệnh SQL rất có thể viết chứa thương hiệu tsay đắm số vào nó, sau đó giá trị thực của tsay đắm số này được SqlCommvà gán nuốm vào để có mệnh đề SQL thực sự. Tđam mê số vào chuỗi câu lệnh SQL cam kết hiệu là
tenthamso
(lưu giữ bao gồm ký kết hiệu
), ví dụ:

string queryString = "SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID >
DanhmucID"; Thì tất cả một tđắm đuối số thương hiệu
DanhmucID: Giá trị đích thực của tđam mê số này sửa chữa thay thế bởi giá trị của của một đối tượng dạng hình SqlParameter. Tập hòa hợp các tmê mệt số này lưu trong nằm trong tính Parameters của SqlCommand

command.Parameters.AddWithValue("
Danhmuc của câu truy vấn, kết quảcâu truy vấn là

"SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID > 5"Bên cạnh đó có thể khởi sản xuất một SqlParameter cùng cấp dưỡng, ví dụ:

var danhmuc = new SqlParameter("
DanhmucID", 5); // Tạo tđê mê sốcommand.Parameters.Add(danhmuc); // Thêm vào SqlCommandvar danhmuc = new SqlParameter("
DanhmucID", 5); // Tạo tsay đắm sốcomm&.Parameters.Add(danhmuc); // Thêm vào SqlCommandHoặc cụ thể hơn như

// Khởi sản xuất bao gồm chỉ định và hướng dẫn mẫu mã dữ liệuvar danhmuc = new SqlParameter("
DanhmucID", SqlDbType.Int);// Gán gái trị vào tsay mê sốdanhmuc.Value = 5;// Thêm vào SqlCommandcommand.Parameters.Add(danhmuc);

Các bí quyết thi hành SqlCommvà với đem hiệu quả truy nã vấn

Có những cách làm khác biệt nhằm thực hành SqlCommvà phụ thuộc vào ngữ chình họa với mục đích khác biệt, có bao gồm những phương thức như:

ExecuteNonQuery() thực hành truy vấn vấn - ko đề nghị trả về tài liệu gì, phù hợp triển khai các truy nã vấn như Update, Delete ... ExecuteReader() thực hiện lệnh - trả về đối tượng người dùng đồ họa IDataReader như SqlDataReader, tự đó đọc được tài liệu trả về ExecuteScalar() thì hành cùng trả về một quý giá tuyệt nhất - làm việc số 1 tiên, cột đầu tiên

Sau trên đây vận dụng Call những hàm trên

Thi hành SqlCommand bằng phương thức ExecuteScalar()

Nếu thi hành SqlCommand bởi thủ tục ExecuteScalar thì nó đang thi hành câu lệnh Squốc lộ cùng trả về 1 giá trị là cột đầu tiên của cái đầu tiên. (Cho dù câu lệnh SQL thực tế trả về tập kết quả nhiều mẫu các cột). Lưu ý: quý hiếm tất cả độ nhiều năm buổi tối nhiều 2033 ký kết tự

lấy ví dụ như sau đã cnhát một chiếc new vào bảng với trả về cực hiếm định danh của loại new ckém vào (ID). Ở đây ckém một Shipper bắt đầu biết tin HoTen và Sodienthoách vào bảng Shippers

// Tạo đối tượng người sử dụng DbCommandusing var commvà = new SqlCommand();command.Connection = connection;// Câu tầm nã vấn gồm: chèn tài liệu vào với đem định danh(Primary key) new chèn vàostring queryString =
Sodienthoai); SELECT CAST(scope_identity() AS int)";comm&.CommandText = queryString;command.Parameters.AddWithValue("
Sodienthoai", 123456);var ShipperID = command.ExecuteScalar(); // Thi hành SQL trả về cực hiếm đầu tiênConsole.WriteLine($"Thêm bắt đầu Shipper, ID = ShipperID");

Thi hành cùng với ExecuteNonQuery

Thi hành SqlComm& bằng cách thức ExecuteNonQuery nó chỉ trả về tác dụng là số cái tài liệu bị ảnh hưởng (số chiếc xóa, số loại update ...). Thường sử dụng cách này để thực hành các tầm nã vấn UPDATE, INSERT, DELETE. Tuy nhiên, trường hợp là Call Procedure thì tất cả kết quả trả về.

// Tạo kết nốivar sqlconnectstring =
"Data Source=localhost,1433; Initial Catalog=xtlab; User ID=SA;Password=Password123";var connection = new SqlConnection(sqlconnectstring);connection.Open();// Tạo đối tượng người dùng SqlCommandusing var commvà = new SqlCommand();command.Connection = connection;// Câu tầm nã vấn gồm: cnhát dữ liệu vào và đem định danh(Primary key) mới cnhát vàostring queryString =
ShipperID", 4);var rows_affected = command.ExecuteNonQuery();Console.WriteLine($"Số mẫu tác động = rows_affected");connection.Close();

Thi hành cùng với ExecuteReader

Thi hành SqlCommvà cùng với phương thức thì nó sẽ tạo ra đối tượng người dùng SqlDataReader được mngơi nghỉ sẵn, từ đối tượng người tiêu dùng kia giúp hiểu từng chiếc tác dụng trả về.

Một số phương thức vào SqlDataReader

SqlDataReader.HasRows() cho biết gồm loại tài liệu làm sao không SqlDataReader.Read() nạp tài liệu loại tiếp theo, nếu trả về true là tất cả chiếc dữ liệu nạp về thành công xuất sắc, nếu như false là đã mất tài liệu nạp về. Sau Khi call phương thơm thực này, thì các cột của dòng có thể gọi bằng các tân oán tử , hoặc các hàm đọc dữ liệu như .GetInt32(cột), .GetString(cột) ... SqlDataReader.Close() đóng Reader sau thời điểm đọc chấm dứt tài liệu

Các câu lệnh SELECT hoàn toàn có thể dùng giải pháp náy

readCate.cs

// Tạo kết nốivar sqlconnectstring =
"Data Source=localhost,1433; Initial Catalog=xtlab; User ID=SA;Password=Password123";var connection = new SqlConnection(sqlconnectstring);connection.Open();// Tạo đối tượng người dùng SqlCommandusing var command = new SqlCommand();commvà.Connection = connection;// Câu truy hỏi vấn rước danh mụcstring queryString =
"SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc";command.CommandText = queryString;// Thi hành truy hỏi vấn trả về SqlReaderusing var reader = comm&.ExecuteReader();// Kiểm tra gồm công dụng trả vềif (reader.HasRows) // Đọc từng mẫu tập kết quả while (reader.Read()) var danhmuc = reader.GetInt32(0); var tendanhmuc = reader<"TenDanhMuc">; var mota = reader.GetString("Mota"); Console.WriteLine($"danhmuc, 4 - tendanhmuc, -20 - mota"); else Console.WriteLine("Không có tài liệu trả về");connection.Close(); Hình như Lúc dành được đối tượng người tiêu dùng SqlDataReader, rất có thể mang cục bộ hiệu quả trả về của SqlComm& đưa vào DataTable

//...SqlCommvà comm& = new SqlCommand("SELECT DanhmucID, TenDanhMuc FROM Danhmuc;", connection);using (SqlDataReader reader = commvà.ExecuteReader()) DataTable myTable = new DataTable(); if (reader.HasRows) myTable.Load(reader); else //No rows //...

ExecuteXmlReader

Thi hành SqlCommand với cách tiến hành thì nó sẽ tạo ra đối tượng System.Xml.XmlReader, từ bỏ đối tượng đó góp phát âm từng dòng hiệu quả trả về theo cấu trúc XML.

Xem thêm: Top 8 Loài Rắn Độc Nhất Thế Giới Hiện Nay, Mỗi Mét Vuông 5 Con Rắn Độc Bậc Nhất Hành Tinh

gọi Procedure của DB

Mặc định SqlCommand đã coi nội dung trong nằm trong tính CommandText là câu lệnh SQL bởi nó đã cấu hình thiết lập CommandType bằng CommandType.Text (coi ví dụ trên). Nếu muốn call cho Procedure thì tùy chỉnh nó bởi CommandType.StoredProcedure.

quý khách hàng có thể chạy câu lệnh T-Squốc lộ để tạo ra một StoredProcedure chủng loại có tên gethàng hóa với một tmê mẩn số
idENDThực hành gọi thủ tục SQL Server

callProcedure.cs

//...public static void CallStoredProcedure() string sqlconnectStr = "Data Source=localhost,1433;Initial Catalog=xtlab;User ID=SA;Password=Password123"; SqlConnection connection = new SqlConnection(sqlconnectStr); connection.Open(); // Thi hành giấy tờ thủ tục PROCEDURE .(
id int) vào MS SQL Server SqlComm& cmd = new SqlCommand("getproduct", connection); cmd.CommandType = CommandType.StoredProcedure; // Tđê mê số của procedure cmd.Parameters.Add( new SqlParameter() ParameterName = "
id", SqlDbType = SqlDbType.Int, Value = 10 ); // Đọc công dụng trả về using (SqlDataReader reader = cmd.ExecuteReader()) while (reader.Read()) var ten = reader<"TenSanpham">; var gia = reader<"Gia">; Console.WriteLine($"ten gia"); connection.Close();//.. Crúc ý, các phương thức của thi hành của SqlComm& đều có cách thức bất đồng nhất tương ứng như ExecuteNonQueryAsync(), ExecuteReaderAsync() ... để ham mê thì áp dụng kỹ thuật async, nhắc các SqlDataReader cùng với ReadAsync()


SqlCommandTmê man số Parameters của SqlCommandNhững cách tiến hành thi hành SqlCommandExecuteScalarExecuteNonQueryExecuteReaderExecuteXmlReaderđiện thoại tư vấn procedure
*

Tạo các Requirement cùng Authorization handler xác thực quyền truy cập Authorize vào ASP.NET Core Sao giữ cùng phục sinh database vào SQL Server Kiểm tra và thu gọn gàng tệp tin data file log của Database vào SQL Server (ADO.NET) DataAdapter DataSet và DataTable khám phá với áp dụng (ASP.NET Chip Core MVC) Triển knhị ứng dụng ASPhường.NET bên trên Server Linux cùng với Kestrel Apabít Nginx (ADO.NET) Giới thiệu abởi vì.net và kết nối SQL Server với SqlConnection
Giới thiệuPrivacyTừ điển Anh - ViệtChạy SQLRegExpCubic-bezierUnix timestampKý từ HTMLcalories, chỉ số BMRchỉ số khối cơ thể BMITạo QR CodeLịch vạn niên Liên hệ RSS

Đây là blog cá thể, tôi ghi chép cùng share phần lớn gì tôi học được ở chỗ này về kiến thức thiết kế PHP, Java, JavaScript, Android, C# ... và các kỹ năng technology khácDeveloped by vhpi.vn