Tạo đối tượng người tiêu dùng SqlCommand trong C# nhằm tầm nã vấn cùng update tới cơ sở dữ liệu Squốc lộ Server, triển khai lệnh cùng với những thủ tục ExecuteNonQuery, ExecuteScalar, ExecuteReader


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

Lớp SqlCommand thực thi trường đoản cú DbComm& chất nhận được tạo ra đối tượng người dùng cơ mà từ đó có thể thực hành những lệnh SQL liên tưởng với MS SQL Server nlỗi các mệnh đề UPDATE|INSERT|CREATE TABLE|SELECT …

Đang xem: Executenonquery là gì

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

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

Chú ý: Nếu thực hiện MySQL thì đối tượng người dùng triển khai DbComm& là MySqlComm&, tất cả phương pháp áp dụng một bí quyết tương tự.

Để gấp rút có một MS SQL Server kèm tài liệu chủng loại, hãy cần sử dụng Docker với thực hiệntheo hướng dẫn: MS SQL Server trên Docker

Để chế tạo ra và thi hành được SqlCommand thì quan trọng lập cho nó câu lệnh SQL (truy vấn), cùng những tđam mê số mang đến lệnh Squốc lộ kia, bên cạnh đó cần thiết lập biết tin liên kết mang lại Squốc lộ Server SqlConnection vào đối tượng người dùng SqlCommand.

Xem thêm: " Lầy Là Gì Và Vì Sao Giới Trẻ Chê Nhau Là Chơi Lầy, Chơi Lầy Tiếng Anh Là Gì

lấy ví dụ như, khởi tạo ra SqlCommand – tùy chỉnh cấu hình ngay câu query cùng kết nối

var cmd = new SqlCommand(queryString, connection);Có thể khởi sản xuất SqlComm& tiếp nối new tùy chỉnh cấu hình các thông số (câu truy vấn vấn, liên kết cùng những tđê mê số …) rồi tiếp đến thực hiện SqlCommvà (tiến hành truy hỏi vấn SQL)

// Tạo kết nối 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 DbCommvà using var commvà = new SqlCommand(); comm&.Connection = connection; // select, insert, update, delete command.CommandText = “Mệnh đề truy vấn SQL”; // Thực hiện nay những câu truy nã vấn, hiểu kết quả // … // … connection.Close(); Từ đối tượng người tiêu dùng SqlConnection cũng có thể tạo ngay đối tượng người dùng SqlCommand gắn thêm với liên kết đó:

using (var cmd = connection.CreateCommand()) cmd.CommandText = queryString; // thực hiện lệnh … do vậy để thực hiện lệnh SQL với SqlCommvà, thì cần phải có một liên kết trước (SqlConnection), rồi tạo ra đối tượng người dùng SqlComm&, gán mang đến nó liên kết, câu lệnh Squốc lộ tiếp đến bắt đầu thực hiện được. Để thực hiện, Điện thoại tư vấn một trong các thủ tục nlỗi ExecuteScalar, ExecuteNonQuery, ExecuteReader … trình diễn sống mục phía dưới

Thiết lập những tsay mê số cho SqlCommmand

Các câu lệnh SQL hoàn toàn có thể viết đựng thương hiệu tsi mê số vào nó, tiếp nối quý hiếm thực của tsay đắm số này được SqlCommvà gán cố kỉnh vào để sở hữu mệnh đề SQL đích thực. Tham số trong chuỗi câu lệnh SQL cam kết hiệu là tenthamso (ghi nhớ tất cả ký hiệu ), ví dụ:

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

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

“SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID > 5″Trong khi có thể khởi tạo nên một SqlParameter cùng chế tạo, ví dụ:

var danhmuc = new SqlParameter(“DanhmucID”, 5); // Tạo tham mê sốcomm&.Parameters.Add(danhmuc); // Thêm vào SqlCommandvar danhmuc = new SqlParameter(“DanhmucID”, 5); // Tạo tđắm say sốcommvà.Parameters.Add(danhmuc); // Thêm vào SqlCommandHoặc cụ thể rộng như

// Khởi tạo thành có hướng đẫn hình trạ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 SqlCommandcommand.Parameters.Add(danhmuc);

Các phương pháp thực hiện SqlComm& với đem hiệu quả tróc nã vấn

Có các cách tiến hành khác nhau nhằm thi hành SqlComm& tùy thuộc vào ngữ cảnh cùng với mục đích khác biệt, gồm tất cả các phương thức như:

ExecuteNonQuery() thực hiện tróc nã vấn – ko cần trả về tài liệu gì, cân xứng triển khai các truy nã vấn nhỏng Update, Delete … ExecuteReader() thi hành lệnh – trả về đối tượng người tiêu dùng giao diện IDataReader nlỗi SqlDataReader, từ bỏ đó hiểu được tài liệu trả về ExecuteScalar() thì hành với trả về một quý hiếm độc nhất – nghỉ ngơi hàng đầu tiên, cột trước tiên

Sau trên đây áp dụng call những hàm trên

Thi hành SqlCommvà bởi cách làm ExecuteScalar()

Nếu thi hành SqlComm& bởi cách làm ExecuteScalar thì nó đã thi hành câu lệnh Squốc lộ cùng trả về 1 quý giá là cột thứ nhất của chiếc thứ nhất. (Cho cho dù câu lệnh Squốc lộ thực tế trả về tập hiệu quả những mẫu nhiều cột). Lưu ý: cực hiếm bao gồm độ dài về tối nhiều 2033 ký kết trường đoản cú

ví dụ như sau vẫn cnhát một chiếc new vào bảng và trả về giá trị định danh của cái new cyếu vào (ID). Tại phía trên cyếu một Shipper bắt đầu lên tiếng HoTen cùng Sodienthoai nghiêm vào bảng Shippers

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

Thi hành với ExecuteNonQuery

Thi hành SqlCommvà bởi cách làm ExecuteNonQuery nó chỉ trả về hiệu quả là số loại tài liệu bị ảnh hưởng (số mẫu xóa, số dòng update …). Thường cần sử dụng giải pháp này để thi hành các truy vấn vấn UPDATE, INSERT, DELETE. Tuy nhiên, giả dụ là Hotline Procedure thì bao gồm công dụng 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 command = new SqlCommand();command.Connection = connection;// Câu tầm nã vấn gồm: chèn dữ liệu vào cùng rước định danh(Primary key) mới cyếu 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 với ExecuteReader

Thi hành SqlComm& với cách thức thì nó sẽ tạo nên ra đối tượng người tiêu dùng SqlDataReader được mnghỉ ngơi sẵn, từ bỏ đối tượng người dùng kia góp phát âm từng chiếc tác dụng trả về.

Xem thêm: Nghĩa Của Từ Ito Là Gì ? Nghĩa Của Từ Ito Trong Tiếng Việt International Trade Organization Là Gì

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

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

Các câu lệnh SELECT rất có thể sử dụng bí quyết 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 command = new SqlCommand();commvà.Connection = connection;// Câu tầm nã vấn rước danh mụcstring queryString = “SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc”;commvà.CommandText = queryString;// Thi hành truy tìm vấn trả về SqlReaderusing var reader = commvà.ExecuteReader();// Kiểm tra bao gồm tác dụng trả vềif (reader.HasRows) // Đọc từng chiếc tập hiệu quả while (reader.Read()) var danhmuc = reader.GetInt32(0); var tendanhmuc = reader; var mota = reader.GetString(“Mota”); Console.WriteLine($”danhmuc, 4 – tendanhmuc, -20 – mota”); else Console.WriteLine(“Không tất cả dữ liệu trả về”);connection.Close(); Bên cạnh đó khi giành được đối tượng người dùng SqlDataReader, có thể đem toàn cục hiệu quả trả về của SqlCommand đưa vào DataTable

//…SqlCommand command = new SqlCommand(“SELECT DanhmucID, TenDanhMuc FROM Danhmuc;”, connection);using (SqlDataReader reader = command.ExecuteReader()) DataTable myTable = new DataTable(); if (reader.HasRows) myTable.Load(reader); else //No rows //…

ExecuteXmlReader

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

gọi Procedure của DB

Mặc định SqlCommvà đã coi câu chữ vào trực thuộc tính CommandText là câu lệnh Squốc lộ vị nó vẫn tùy chỉnh cấu hình CommandType bằng CommandType.Text (xem ví dụ trên). Nếu mong call cho Procedure thì cấu hình thiết lập nó bằng CommandType.StoredProcedure.

Quý Khách rất có thể chạy câu lệnh T-Squốc lộ nhằm tạo ra một StoredProcedure mẫu mã mang tên gethàng hóa với 1 tham mê sốidENDThực hành Điện thoại tư vấn giấy tờ thủ tục Squốc lộ 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; // Tyêu thích 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; var gia = reader; Console.WriteLine($”ten gia”); connection.Close();//.. Chú ý, các cách tiến hành của thực hành của SqlCommvà đều có cách làm bất đồng điệu tương xứng như ExecuteNonQueryAsync(), ExecuteReaderAsync() … để phù hợp thì vận dụng nghệ thuật async, đề cập những SqlDataReader cùng với ReadAsync()

SqlCommandTđắm đuối số Parameters của SqlCommandNhững cách thức thực hiện SqlCommandExecuteScalarExecuteNonQueryExecuteReaderExecuteXmlReaderHotline procedure

*
*

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

Đây là blog cá thể, tôi ghi chép và chia sẻ rất nhiều gì tôi học được tại đây về kỹ năng và kiến thức thiết kế PHP, Java, JavaScript, Android, C# … cùng các kỹ năng technology khácDeveloped by infobandarpkr.com