Un SqlCommand se utiliza cuando necesitas ejecutar un tipo de sentencia Sql a la base de datos (los tipos pueden ser: Delete, Update, Insert o Select). Por su parte el SqlDataAdapter se utiliza si requieres ejecutar más de un tipo de sentencia Sql o si trabajarás en escenarios desconectados.
Ejemplo de SqlCommand:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public List Listar() { SqlConnection con = new SqlConnection(cadenaConexion); SqlCommand com = new SqlCommand( "LISTAR_CAMPANAS" , con); com.CommandType = System.Data.CommandType.StoredProcedure; con.Open(); SqlDataReader drCampanas = com.ExecuteReader(); List listaCampanas = new List(); while (drCampanas.Read()) { listaCampanas.Add(Cargar(drCampanas)); } drCampanas.Close(); con.Close(); return listaCampanas; } |
Ejemplo de SqlDataAdapter (basado en el ejemplo anterior pero levemente modificado):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public List Listar() { SqlConnection con = new SqlConnection(cadenaConexion); SqlCommand com = new SqlCommand( "LISTAR_CAMPANAS" , con); com.CommandType = System.Data.CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(com); con.Open(); SqlDataReader drCampanas = da.SelectCommand.ExecuteReader(); List listaCampanas = new List(); while (drCampanas.Read()) { listaCampanas.Add(Cargar(drCampanas)); } drCampanas.Close(); con.Close(); return listaCampanas; } |
En el ejemplo anterior se muestra como un SqlDataAdapter puede contener a un SqlCommand (llamado “com” en el ejemplo) que representa una sentencia Select; de igual forma, se puede agregar comandos que representen las sentencias Insert, Update y Delete utilizando sus respectivas propiedades:
1
2
3
4
| SqlCommand dummyCommand = new SqlCommand(); da.UpdateCommand = dummyCommand; da.DeleteCommand = dummyCommand; da.InsertCommand = dummyCommand; |
Si no necesitas trabajar en escenarios desconectados y si solo necesitas utilizar un comando a la vez, utiliza un SqlCommand, de lo contrario un SqlDataAdapter.
No hay comentarios:
Publicar un comentario