Tạo đối tượng người sử dụng SqlCommvà trong C# để truy hỏi vấn cùng cập nhật cho tới CSDL SQL Server, tiến hành lệnh cùng với những cách tiến hành ExecuteNonQuery, ExecuteScalar, ExecuteReader


Lớp SqlComm& - Khởi tạo nên đối tượng SqlCommand

Lớp SqlCommvà tiến hành từ DbCommand có thể chấp nhận được tạo nên đối tượng cơ mà tự kia hoàn toàn có thể thực hành những lệnh SQL cửa hàng với MS SQL Server nhỏng các mệnh đề UPDATE|INSERT|CREATE TABLE|SELECT ...

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

tương tự như có thể chấp nhận được thực hiện các hàm, những stored procedure của Database.

Crúc ý: Nếu sử dụng MySquốc lộ thì đối tượng xúc tiến DbCommvà là MySqlCommand, gồm bí quyết thực hiện một biện pháp tương tự.

Để mau lẹ bao gồm một MS Squốc lộ Server kèm tài liệu mẫu mã, hãy cần sử dụng Docker cùng thực hiệntheo hướng dẫn: MS Squốc lộ Server trên Docker

Để tạo nên với thi hành được SqlCommand thì quan trọng lập mang lại nó câu lệnh Squốc lộ (truy nã vấn), và các tsay đắm số mang đến lệnh Squốc lộ đó, bên cạnh đó phải tùy chỉnh thiết lập biết tin kết nối đến SQL Server SqlConnection vào đối tượng người tiêu dùng SqlComm&.

Xem thêm: Ví Thắt Lưng Khắc Tên Theo Yêu Cầu, Khắc Cnc Trên Ví Da & Thắt Lưng Da

lấy một ví dụ, khởi tạo thành SqlComm& - cấu hình thiết lập tức thì câu query cùng kết nối

var cmd = new SqlCommand(queryString, connection);cũng có thể khởi tạo ra SqlComm& sau đó bắt đầu tùy chỉnh thiết lập những thông số (câu truy hỏi vấn, liên kết và những tsi số ...) rồi tiếp đến triển khai SqlComm& (tiến hành truy vấ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 người dùng DbCommand using var comm& = new SqlCommand(); comm&.Connection = connection; // select, insert, update, delete command.CommandText = "Mệnh đề truy vấn SQL"; // Thực hiện tại những câu truy vấn vấn, đọc tác dụng // ... // ... connection.Close(); Từ đối tượng người tiêu dùng SqlConnection cũng hoàn toàn có thể chế tác tức thì đối tượng người tiêu dùng SqlComm& thêm cùng với kết nối đó:

using (var cmd = connection.CreateCommand()) cmd.CommandText = queryString; // tiến hành lệnh ... Bởi vậy nhằm thực hành lệnh SQL cùng với SqlCommand, thì cần có một liên kết trước (SqlConnection), rồi tạo ra đối tượng người sử dụng SqlCommvà, gán đến nó kết nối, câu lệnh SQL kế tiếp new thực hành được. Để thực hiện, Gọi một trong các cách tiến hành nlỗi ExecuteScalar, ExecuteNonQuery, ExecuteReader ... trình bày làm việc mục phía dưới

Thiết lập các tsay đắm số mang lại SqlCommmand

Các câu lệnh Squốc lộ hoàn toàn có thể viết chứa tên tyêu thích số vào nó, tiếp đến cực hiếm thực của tham mê số này được SqlCommand gán thay vào để sở hữu mệnh đề Squốc lộ đích thực. Tđắm say số trong chuỗi câu lệnh Squốc lộ ký hiệu là
tenthamso
(lưu giữ tất cả cam kết hiệu
), ví dụ:

string queryString = "SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID >
DanhmucID"; Thì gồm một tsi số tên
DanhmucID: Giá trị thực thụ của tmê man số này thay thế sửa chữa do quý hiếm của của một đối tượng thứ hạng SqlParameter. Tập vừa lòng những tyêu thích số này lưu lại trong nằm trong tính Parameters của SqlCommand

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

"SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc where DanhmucID > 5"Ngoài ra hoàn toàn có thể khởi tạo nên một SqlParameter cùng cung ứng, ví dụ:

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

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

Các cách thực hiện SqlCommand và rước công dụng truy nã vấn

Có những cách thức không giống nhau nhằm thực hành SqlCommvà tùy thuộc vào ngữ chình họa cùng với mục tiêu khác nhau, tất cả bao gồm những phương thức như:

ExecuteNonQuery() thực hành tầm nã vấn - ko yêu cầu trả về tài liệu gì, tương xứng tiến hành những tróc nã vấn nlỗi Update, Delete ... ExecuteReader() thực hiện lệnh - trả về đối tượng người tiêu dùng giao diện IDataReader nlỗi SqlDataReader, trường đoản cú kia hiểu được dữ liệu trả về ExecuteScalar() thì hành và trả về một quý hiếm độc nhất - ở hàng đầu tiên, cột đầu tiên

Sau phía trên vận dụng Call các hàm trên

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

Nếu thực hành SqlCommvà bằng cách thức ExecuteScalar thì nó sẽ thực hành câu lệnh SQL và trả về 1 cực hiếm là cột đầu tiên của dòng trước tiên. (Cho dù câu lệnh SQL thực tiễn trả về tập công dụng các dòng những cột). Lưu ý: quý giá gồm độ lâu năm tối nhiều 2033 ký kết tự

ví dụ như sau sẽ cyếu một loại bắt đầu vào bảng và trả về quý hiếm định danh của mẫu bắt đầu cyếu vào (ID). Ở phía trên cnhát một Shipper new thông báo HoTen cùng Sodienthoai vào bảng Shippers

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

Thi hành với ExecuteNonQuery

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

Thi hành cùng với ExecuteReader

Thi hành SqlCommvà cùng với thủ tục thì nó sẽ khởi tạo ra đối tượng người tiêu dùng SqlDataReader được mlàm việc sẵn, trường đoản cú đối tượng người sử dụng đó góp đọc từng cái tác dụng trả về.

Một số phương thức trong SqlDataReader

SqlDataReader.HasRows() cho biết thêm gồm cái dữ liệu làm sao ko SqlDataReader.Read() nạp dữ liệu chiếc tiếp sau, ví như trả về true là có cái dữ liệu nạp về thành công xuất sắc, giả dụ false là đã không còn tài liệu nạp 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 mẫu có thể phát âm bằng các toán tử , hoặc các hàm hiểu tài liệu nhỏng .GetInt32(cột), .GetString(cột) ... SqlDataReader.Close() đóng Reader sau khi hiểu ngừng tài liệu

Các câu lệnh SELECT hoàn toàn có thể cần sử dụng biện 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 comm& = new SqlCommand();command.Connection = connection;// Câu truy tìm vấn mang danh mụcstring queryString =
"SELECT DanhmucID, TenDanhMuc, MoTa FROM Danhmuc";command.CommandText = queryString;// Thi hành tầm nã vấn trả về SqlReaderusing var reader = command.ExecuteReader();// Kiểm tra gồm kết quả trả vềif (reader.HasRows) // Đọc từng dòng tập hiệu 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 bao gồm dữ liệu trả về");connection.Close(); Bên cạnh đó lúc đã có được đối tượng SqlDataReader, hoàn toàn có thể lấy toàn thể tác dụng trả về của SqlCommvà gửi vào DataTable

//...SqlCommand comm& = 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 cách làm thì nó sẽ tạo ra đối tượng người sử dụng System.Xml.XmlReader, tự đối tượng người tiêu dùng kia giúp gọi từng loại công dụng trả về theo kết cấu XML.

Hotline Procedure của DB

Mặc định SqlCommvà đã coi nội dung trong trực thuộc tính CommandText là câu lệnh Squốc lộ bởi vì nó vẫn tùy chỉnh thiết lập CommandType bằng CommandType.Text (coi ví dụ trên). Nếu ý muốn điện thoại tư vấn mang lại Procedure thì tùy chỉnh cấu hình nó bằng CommandType.StoredProcedure.

Quý khách hàng rất có thể chạy câu lệnh T-Squốc lộ để tạo thành một StoredProcedure mẫu mã có tên getproduct với 1 tham mê số
idENDThực hành Hotline 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 giấy tờ thủ tục PROCEDURE .(
id int) vào MS Squốc lộ Server SqlCommvà cmd = new SqlCommand("getproduct", connection); cmd.CommandType = CommandType.StoredProcedure; // Tsay 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();//.. Chụ ý, những cách thức của thực hiện của SqlComm& đều có cách tiến hành bất đồng bộ khớp ứng nlỗi ExecuteNonQueryAsync(), ExecuteReaderAsync() ... để thích thì áp dụng chuyên môn async, kể các SqlDataReader với ReadAsync()


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

(ADO.NET) DataAdapter DataSet với DataTable tìm hiểu cùng thực hiện (ASP.NET Core MVC) Triển khai vận dụng ASPhường.NET trên Server Linux với Kestrel Apađậy Nginx (ASP..NET Chip Core MVC) Giới thiệu một số admin template cùng tích thích hợp SB Admin (ASP..NET Chip Core MVC) Tích phù hợp trình thống trị tệp tin vào trang web (ASPhường.NET Core) Sử dụng pháp luật LibMan mang tlỗi viện client-side (ADO.NET) Giới thiệu avị.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ý trường đoản cú HTMLcalories, chỉ số BMRchỉ số khối khung người BMITạo QR CodeLịch vạn niên Liên hệ RSS

Đây là blog cá nhân, tôi ghi chxay cùng share hầu hết 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# ... với những kiến thức và kỹ năng công nghệ khácDeveloped by aviarus-21.com

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *