stored returns propiedad negative inicializado executereader ejemplos c# mysql .net sql executenonquery

returns - sqlcommand c# ejemplos



Obtenga filas afectadas en ExecuteNonQuery (3)

Si ejecuta el SQL de su pregunta en un SqlCommand y comprueba el valor de retorno de ExecuteNonQuery , debería decirle cuántos registros se vieron afectados.

De la documentation :

Valor de retorno
Tipo: System.Int32
El número de filas afectadas.

Actualmente estoy trabajando en un proyecto de C # y estoy ejecutando una consulta de inserción que también hace una selección al mismo tiempo, por ejemplo:

INSERT INTO table (SELECT * FROM table WHERE column=date)

¿Hay alguna manera de ver cuántas filas se insertaron durante esta consulta?


Si ejecuta una gran cantidad de ExecuteNonQuery () y los comete todos de una vez, puede obtener el número total de cambios después de la conexión leyendo el valor de retorno de "SELECT total_changes ();"

La función para obtener los cambios totales:

public static long GetTotalChanges(SQLiteConnection m_dbConnection) { string sql = "SELECT total_changes();"; using (SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection)) { using (SQLiteDataReader reader = command.ExecuteReader()) { reader.Read(); return (long)reader[0]; } } }

Úselo en otra función:

public static long MyBulkInserts() { using (SQLiteConnection m_dbConnection = new SQLiteConnection()) { m_dbConnection.Open(); using (var cmd = new SQLiteCommand(m_dbConnection)) { using (var transaction = m_dbConnection.BeginTransaction()) { //loop of bulk inserts { cmd.ExecuteNonQuery(); } transaction.Commit(); } } return GetTotalChanges(m_dbConnection); } }


ExecuteNonQuery - devuelve el número de filas afectadas.

SqlCommand comm; // other codes int numberOfRecords = comm.ExecuteNonQuery();