Exemple #1
0
        /// <summary>
        /// 更新记录
        /// </summary>
        /// <param name="condition">条件(格式字段=?),例:b=? and c = ? and d =?</param>
        /// <param name="parameters">参数值,建议采用parameters参数,parameters防Sql注入</param>
        /// <returns>受影响的行数</returns>
        public int Update(string condition, params object[] parameters)
        {
            if (__EditColumns.Count == 0 || !condition.HasValue())
            {
                return(0);
            }

            var paras = new List <object>();
            var sb    = new StringBuilder();

            sb.Append("update ").Append(TableName).Append(" set ");
            foreach (var column in __EditColumns)
            {
                sb.Append("[").Append(column.Key).Append("] = ?,");
                paras.Add(column.Value);
            }
            if (sb.ToString().EndsWith(","))
            {
                sb.Remove(sb.Length - 1, 1);
            }

            sb.Append(" where ").Append(condition);

            paras.AddRange(parameters);

            Clear();

            return(DbBase2 <TK> .ExecuteNonQuery(sb.ToString(), paras.ToArray()));
        }
Exemple #2
0
        /// <summary>
        /// 添加记录(存在condition就不添加)
        /// </summary>
        /// <returns>受影响的行数</returns>
        public int Insert(string condition = null)
        {
            if (__EditColumns.Count == 0)
            {
                return(-1);
            }

            var sb         = new StringBuilder();
            var parameters = new List <object>();

            if (condition.NotNullOrEmpty())
            {
                sb.Append("if not exists(select 1 from ").Append(TableName).Append(" where ").Append(condition).Append(")\n");
            }
            sb.Append("insert into ").Append(TableName).Append(" (");
            foreach (var column in __EditColumns)
            {
                sb.Append("[").Append(column.Key).Append("],");
                parameters.Add(column.Value);
            }
            sb.Remove(sb.Length - 1, 1);
            sb.Append(")values(");
            var columnCount = __EditColumns.Count;

            for (var i = 0; i < columnCount; i++)
            {
                sb.Append("?,");
            }
            sb.Remove(sb.Length - 1, 1);
            sb.Append(")");

            __EditColumns.Clear();

            return(DbBase2 <TK> .ExecuteNonQuery(sb.ToString(), parameters.ToArray()));
        }
Exemple #3
0
        /// <summary>
        /// 删除记录
        /// </summary>
        /// <param name="condition">条件(格式字段=?),例:b=? and c = ? and d =?</param>
        /// <param name="parameters">参数值,建议采用parameters参数,parameters防Sql注入</param>
        /// <returns>受影响的行数</returns>
        public static int Delete(string condition, params object[] parameters)
        {
            var sb = new StringBuilder();

            sb.Append("delete from ").Append(typeof(T).Name);
            sb.Append(" where ").Append(condition);

            return(DbBase2 <TK> .ExecuteNonQuery(sb.ToString(), parameters));
        }