Executenonquery là gì

Tạo đối tượng người sử dụng SqlCommand vào C# để truy vấn với update cho tới cơ sở dữ liệu Squốc lộ Server, thực hiện lệnh cùng với các thủ tục ExecuteNonQuery, ExecuteScalar, ExecuteReader


Lớp SqlCommvà - Khởi tạo ra đối tượng SqlCommand

Lớp SqlCommvà triển khai từ DbCommvà cho phép tạo ra đối tượng nhưng từ kia rất có thể thực hành những lệnh SQL shop cùng với MS SQL Server như các mệnh đề UPDATE|INSERT|CREATE TABLE|SELECT ...

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

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

Crúc ý: Nếu thực hiện MySQL thì đối tượng người tiêu dùng thực thi DbCommand là MySqlComm&, tất cả giải pháp áp dụng một bí quyết tương tự như.

Để gấp rút tất cả một MS Squốc lộ Server kèm tài liệu mẫu mã, hãy sử dụng Docker cùng thực hiệntheo hướng dẫn: MS SQL Server trên Docker

Để tạo ra với thi hành được SqlCommand thì cần thiết lập mang lại nó câu lệnh Squốc lộ (tróc nã vấn), với những tham mê số cho lệnh Squốc lộ đó, đôi khi nên tùy chỉnh công bố liên kết mang lại SQL Server SqlConnection vào đối tượng người tiêu dùng SqlComm&.

Xem thêm: Jkd Là Gì ? Đào Tạo Cơ Bản Trong Jeet Kune Do

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

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

// Tạo liên kết var 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 DbCommand using var command = new SqlCommand(); command.Connection = connection; // select, insert, update, delete comm&.CommandText = "Mệnh đề truy vấn vấn SQL"; // Thực hiện nay các câu tróc nã vấn, hiểu công dụng // ... // ... connection.Close(); Từ đối tượng SqlConnection cũng hoàn toàn có thể sản xuất tức thì đối tượng người dùng SqlCommvà đính thêm cùng với liên kết đó:

using (var cmd = connection.CreateCommand()) cmd.CommandText = queryString; // triển khai lệnh ... bởi thế nhằm thực hành lệnh SQL cùng với SqlCommand, thì cần có một kết nối trước (SqlConnection), rồi tạo nên đối tượng SqlCommand, gán mang lại nó kết nối, câu lệnh SQL tiếp đến new thực hiện được. Để thực hiện, Hotline một trong số phương thức nlỗi ExecuteScalar, ExecuteNonQuery, ExecuteReader ... trình diễn sinh hoạt mục phía dưới

Thiết lập những tsay đắm số mang đến SqlCommmand

Các câu lệnh SQL có thể viết chứa tên tyêu thích số trong nó, tiếp đến giá trị thực của tmê mệt số này được SqlCommand gán thế vào để sở hữu mệnh đề SQL thực thụ. Tsi mê số vào chuỗi câu lệnh SQL ký hiệu là
tenthamso
(ghi nhớ có ký hiệu
), ví dụ:

string queryString = "SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID >
DanhmucID"; Thì tất cả một tyêu thích số thương hiệu
DanhmucID: Giá trị thực sự của tham số này thay thế bởi vì quý giá của của một đối tượng người sử dụng hình dáng SqlParameter. Tập phù hợp các tyêu thích số này giữ vào thuộc tính Parameters của SqlCommand

comm&.Parameters.AddWithValue("
Danhmuc của câu tróc nã vấn, kết quảcâu truy vấn vấn là

"SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID > 5"Trong khi rất có thể khởi sinh sản một SqlParameter với sản xuất, ví dụ:

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

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

Các bí quyết thực hiện SqlComm& và mang tác dụng truy hỏi vấn

Có những thủ tục khác biệt để thực hành SqlCommand tùy thuộc vào ngữ cảnh cùng với mục đích khác biệt, gồm gồm những thủ tục như:

ExecuteNonQuery() thực hiện truy vấn - không buộc phải trả về dữ liệu gì, cân xứng thực hiện các tầm nã vấn nlỗi Update, Delete ... ExecuteReader() thực hành lệnh - trả về đối tượng người tiêu dùng giao diện IDataReader như SqlDataReader, từ kia đọc được dữ liệu trả về ExecuteScalar() thì hành với trả về một quý hiếm duy nhất - làm việc số 1 tiên, cột đầu tiên

Sau phía trên vận dụng call những hàm trên

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

Nếu thi hành SqlComm& bằng phương thức ExecuteScalar thì nó đã thực hiện câu lệnh Squốc lộ với trả về 1 giá trị là cột trước tiên của chiếc thứ nhất. (Cho cho dù câu lệnh Squốc lộ thực tiễn trả về tập công dụng các cái các cột). Lưu ý: quý giá gồm độ dài tối đa 2033 cam kết từ bỏ

lấy ví dụ sau đã cyếu một mẫu bắt đầu vào bảng cùng trả về cực hiếm định danh của dòng mới cyếu vào (ID). Ở phía trên cyếu một Shipper bắt đầu thông tin HoTen cùng Sodienthoai vào bảng Shippers

// Tạo đối tượng người tiêu dùng DbCommandusing var commvà = new SqlCommand();comm&.Connection = connection;// Câu tầm nã vấn gồm: cyếu tài liệu vào và mang đị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 = comm&.ExecuteScalar(); // Thi hành SQL trả về giá trị đầu tiênConsole.WriteLine($"Thêm bắt đầu Shipper, ID = ShipperID");

Thi hành cùng với ExecuteNonQuery

Thi hành SqlCommand bởi cách làm ExecuteNonQuery nó chỉ trả về công dụng là số dòng dữ liệu bị tác động (số chiếc xóa, số dòng update ...). Thường cần sử dụng biện pháp này để thực hành những truy tìm vấn UPDATE, INSERT, DELETE. Tuy nhiên, giả dụ là Hotline Procedure thì bao gồm 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 sử dụng SqlCommandusing var commvà = new SqlCommand();comm&.Connection = connection;// Câu tróc nã vấn gồm: chèn dữ liệu vào cùng lấy định danh(Primary key) mới chèn vàostring queryString =
ShipperID", 4);var rows_affected = comm&.ExecuteNonQuery();Console.WriteLine($"Số chiếc tác động = rows_affected");connection.Close();

Thi hành cùng với ExecuteReader

Thi hành SqlComm& cùng với cách làm thì nó sẽ tạo nên ra đối tượng người sử dụng SqlDataReader được mlàm việc sẵn, tự đối tượng người dùng đó giúp đọc từng cái kết quả trả về.

Một số cách thức trong SqlDataReader

SqlDataReader.HasRows() cho thấy gồm loại tài liệu nào ko SqlDataReader.Read() hấp thụ tài liệu mẫu tiếp sau, trường hợp trả về true là có chiếc tài liệu nạp về thành công, giả dụ false là đã hết dữ liệu nạp về. Sau khi điện thoại tư vấn phương thơm thực này, thì những cột của cái có thể đọc bởi các toán thù tử , hoặc những hàm gọi tài liệu nhỏng .GetInt32(cột), .GetString(cột) ... SqlDataReader.Close() đóng góp Reader sau thời điểm đọc ngừng tài liệu

Các câu lệnh SELECT rất có thể cần sử dụng cách 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 tiêu dùng SqlCommandusing var commvà = 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 tác dụng trả vềif (reader.HasRows) // Đọc từng cái 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 gồm tài liệu trả về");connection.Close(); Ngoài ra lúc giành được đối tượng người sử dụng SqlDataReader, có thể rước toàn bộ công dụng trả về của SqlCommand chuyển vào DataTable

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

ExecuteXmlReader

Thi hành SqlCommand với thủ tục thì nó sẽ tạo ra đối tượng người dùng System.Xml.XmlReader, trường đoản cú đối tượng người sử dụng kia góp gọi từng cái tác dụng trả về theo cấu tạo XML.

Xem thêm: Sửa Lỗi Gps Xiaomi - Fix Lỗi Gps Trên Xiaomi Để Có Thể Dùng Grab

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 Squốc lộ vì nó đang cấu hình thiết lập CommandType bởi CommandType.Text (xem ví dụ trên). Nếu ao ước điện thoại tư vấn đến Procedure thì tùy chỉnh cấu hình nó bởi CommandType.StoredProcedure.

Bạn hoàn toàn có thể chạy câu lệnh T-SQL nhằm tạo nên một StoredProcedure mẫu mã có tên getsản phẩm với cùng 1 tđắm say số
idENDThực hành call giấy tờ 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 thủ tục PROCEDURE .(
id int) vào MS SQL Server SqlCommand cmd = new SqlCommand("getproduct", connection); cmd.CommandType = CommandType.StoredProcedure; // Tham số của procedure cmd.Parameters.Add( new SqlParameter() ParameterName = "
id", SqlDbType = SqlDbType.Int, Value = 10 ); // Đọc hiệu quả trả về using (SqlDataReader reader = cmd.ExecuteReader()) while (reader.Read()) var ten = reader<"TenSanpham">; var gia = reader<"Gia">; Console.WriteLine($"ten gia"); connection.Close();//.. Chú ý, các phương thức của thực hiện của SqlCommvà đều sở hữu thủ tục bất đồng nhất tương ứng như ExecuteNonQueryAsync(), ExecuteReaderAsync() ... để ưng ý thì áp dụng nghệ thuật async, nói những SqlDataReader với ReadAsync()


SqlCommandTmê man số Parameters của SqlCommandNhững cách thức thi hành SqlCommandExecuteScalarExecuteNonQueryExecuteReaderExecuteXmlReaderGọi procedure
*

(ADO.NET) DataAdapter DataSet cùng DataTable tìm hiểu và sử dụng (ASP..NET Chip Core MVC) Triển khai vận dụng ASP..NET trên Server Linux với Kestrel Apabịt Nginx (ASP..NET Core MVC) Giới thiệu một vài admin template với tích đúng theo SB Admin (ASP.NET Vi xử lý Core MVC) Tích thích hợp trình cai quản tệp tin vào website (ASPhường.NET Core) Sử dụng phương tiện LibMan lấy thư viện client-side (ADO.NET) Giới thiệu abởi.net với liên kết SQL Server cùng với SqlConnection
Giới thiệuPrivacyTừ điển Anh - ViệtChạy SQLRegExpCubic-bezierUnix timestampKý trường đoản cú HTMLcalories, chỉ số BMRchỉ số kân hận khung hình BMITạo QR CodeLịch vạn niên Liên hệ RSS

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


Chuyên mục: Hỏi Đáp