public static EndsWith ( string keyword, string batch ) : IEnumerable |
||
keyword | string | |
batch | string | |
return | IEnumerable |
public void Batch(string batch, bool inTransaction) { using (var connection = GetConnection()) { connection.Open(); var transaction = inTransaction ? connection.BeginTransaction() : null; var commands = CommandParser.EndsWith(";", batch); foreach (var c in commands) { try { var command = connection.CreateCommand(); command.Transaction = transaction; command.CommandText = c; command.ExecuteNonQuery(); } catch (Exception) { Console.Error.WriteLine("The sql command failed:"); Console.Error.WriteLine(c); if (transaction != null) { transaction.Rollback(); } throw; } } if (transaction != null) { transaction.Commit(); } } }
public void Batch(string sqlcommands, bool inTransaction = true, params SqlParam[] parameters) { var commands = CommandParser.EndsWith(";", sqlcommands); Batch(conn => { var npgsqlCommands = new List <NpgsqlCommand>(); foreach (var sql in commands) { var npgsqlCommand = conn.CreateCommand(); foreach (var parameter in parameters) { npgsqlCommand.Parameters.Add(new NpgsqlParameter(parameter.Key, parameter.Value)); } npgsqlCommand.CommandText = sql; npgsqlCommands.Add(npgsqlCommand); } return(npgsqlCommands); }, inTransaction); }