Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
            }
        }