Command.ExecuteNonQuery() ejecuta una instrucción t-sql o un procedimiento almacenado sin un valor de retorno. Generalmente se usa para insertar, eliminar, actualizar y otras operaciones para devolver el número de filas afectadas.
Command.ExecuteRader() ejecuta una consulta que devuelve un conjunto de resultados
Command.ExecuteScalar() ejecuta una consulta que devuelve un valor único. El tipo de valor de retorno es objeto.
Generalmente se utiliza para ejecutar consultas utilizando funciones agregadas como recuento, máximo, mínimo, promedio, etc.
conexión.CreateCommand()
Cree un objeto Comando basado en el objeto actualmente vinculado
int?Id de dirección;
Definir un tipo de valor que acepta valores NULL
DirecciónId.HasValue
Determinar si tiene valor
DirecciónId.Value.ToString();
Convertir su valor al tipo String
CommandText puede usar 2 sentencias SQL separadas por ";" para devolver múltiples conjuntos de resultados.
Utilice NextResult en DataReader para obtener el siguiente conjunto de resultados.
Usar objetos de parámetros en el comando
1.0
sqlCommand.Parameters.Add("@pname",SqlDbType.VarChar).Value=this.textBox1.Text;
2.0
sqlCommand.Parameters.AddWithValue("@pname",this.textBox1.Text);
Obtener un objeto de parámetro por índice o nombre de parámetro
sqlCommand.Parameters[índice|pname]
Usar transacciones
1Crear un objeto de transacción
XxxTransaction tran = XxxConnection.BeginTransaction()
Sql:SqlTransaction tran = SqlConnection.BeginTransaction();
2 Especifique una transacción para el objeto Comando
sqlCommand.Transaction = tran
3Ejecutar comando
sqlCommand.ExecuteNonQuery()
4Confirmar o revertir transacción
tran.Commit()
tran.Rollback()
Cuando la transacción no ha finalizado, por defecto los registros involucrados no se pueden operar y están bloqueados. Este es el nivel de aislamiento de la transacción. Si desea modificar el nivel de aislamiento al abrir una transacción, puede especificar su nivel de aislamiento.
-