Is it necessary to dispose SqlCommand?

It represents an open connection to a sql server database.

Then if we must call the method Add of the Parameters property of the object of the SqlCommand class indicating each parameter and of what type it is (with this the SqlCommand class will know if it has to arrange the single quotes or not):

Implement an application that allows to query an article by its code. Then show in two TextBoxes the description and the current price. Allow to modify the description and price, leaving the change registered in the database table when pressing a button. Use parameters in SQL commands in the query and deletion.


In this post we will discuss how it is possible to perform unit tests on the data access layer, both of the .NET code (C#, VB.NET or whatever) that we use to access the data, as well as the stored procedures that our database may have.

In order to test this method we don’t need to know anything we haven’t seen so far. We will simply need to have datasets to make the tests more real and to be able to test the code. For example, in the previous case we are interested that when we call the stored procedure it returns data.

It has many features that simplify working with databases in development teams but in this post we will talk about the feature of performing unit tests on stored procedures.

At least that’s what I do. In order to test the data access layer, the C# methods, I use the database, its procedures and the data that I create with the data generation plans, simplifying the implementation of the tests.

Sqlcommand c#

Before the advent of LINQ, the philosophy of ADO.NET was data oriented. Thus, when a record needed to be modified or deleted, our concern was to detect the primary key of that element and generate, either statically or dynamically, an UPDATE or DELETE statement for the data source to perform the relevant operation on it.

Previously we could use a DataAdapter to map a database table into a DataTable. And it was possible, from that DataAdapter, to get two copies of the same dataset, i.e., to get two copies of the same dataset, i.e., to get two copies of the same dataset:

So far we have seen how to perform simple queries on a collection, retrieving the range object on which we iterate, components of it, or a new object, either of an existing type or anonymous. This is what is known in relational algebra as projection operations.

For the following article we will make use of the classes defined in the previous article, in which we returned the totality of the records of a list, being one or several fields of the entity. From now on we will use the where statement of LINQ, which is quite similar to the one we use in SQL.

Programacionya sql

Cuando se crea una instancia de SqlConnection , todas las propiedades se establecen en sus valores iniciales. Para obtener una lista de estos valores, vea el constructor de SqlConnection.

Si SqlConnection sale del ámbito, no se cerrará.Si la SqlConnection sale del ámbito, no se cerrará. Por lo tanto, debe cerrar explícitamente la conexión mediante una llamada a Close o Dispose. Close y Dispose son funcionalmente equivalentes.Close y Dispose son funcionalmente equivalentes. Si el valor de la agrupación de conexiones Pooling se establece en true o yes , la conexión subyacente se devuelve al grupo de conexiones. Por otro lado, si Pooling se establece en false o no , la conexión subyacente al servidor se cierra realmente.