public void UpdateData(string table, object parameters, string where, FbTransaction trans) { CheckForNullArguments(table, parameters, trans.Connection, trans); var paramlist = DbExt.GetParams(parameters).ToArray(); string[] setParams = paramlist.Select(param => $"{param.Key} = @{param.Key}").ToArray(); string sql = $"update {table} set {string.Join(",", setParams)}" + (where.IsNullOrWhitespace() ? string.Empty : $" where {where}"); using (var command = new FbCommand(sql, trans.Connection, trans)) { foreach (var param in paramlist) { command.Parameters.Add($"@{param.Key}", param.Value ?? DBNull.Value); } command.ExecuteNonQuery(); } }
public void UpdateOrInsertData(string table, FbTransaction trans, object parameters, string matching) { CheckForNullArguments(table, parameters, trans.Connection, trans); var paramlist = DbExt.GetParams(parameters).ToArray(); string[] sqlparams = paramlist.Select(param => param.Key).ToArray(); string fields = string.Join(",", sqlparams); string values = sqlparams.Any() ? $"@{string.Join(",@", sqlparams)}" : string.Empty; string sql = $"update or insert into {table} ({fields}) values ({values})" + (matching.IsNullOrWhitespace() ? string.Empty : $" matching ({matching})"); using (var command = new FbCommand(sql, trans.Connection, trans)) { foreach (var param in paramlist) { command.Parameters.Add($"@{param.Key}", param.Value ?? DBNull.Value); } command.ExecuteNonQuery(); } }