Ejemplo n.º 1
0
        /// <summary>
        /// 使用实体类更新一条数据库记录,实体类必须使用[DbTable]和[DbField]进行标记,并且关键字属性被设置为正确的ID值。
        /// </summary>
        /// <param name="connector"></param>
        /// <param name="entity"></param>
        /// <returns>返回更新记录的关键字id值</returns>
        public static async Task <int> UpdateEntity(DbConnector connector, object entity)
        {
            SqlParameter[] parameters;
            string         sql = BuildUpdateSql(entity, out parameters, out int primaryKeyValue);
            await connector.ExecuteSqlNonQuery(sql, parameters);

            return(primaryKeyValue);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 在数据库中插入一条新的实体记录,实体类必须使用[DbTable]和[DbField]进行标记,返回新插入的记录的自增长ID。
        /// </summary>
        /// <param name="connector"></param>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static async Task <int> InsertEntity(DbConnector connector, object entity)
        {
            SqlParameter[] parameters;
            string         sql = BuildInsertSql(entity, out parameters, out SqlParameter primaryKey);

            await connector.ExecuteSqlNonQuery(sql, parameters);

            return((int)primaryKey.Value);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 从数据库中删除一条记录
        /// </summary>
        /// <param name="connector"></param>
        /// <param name="tableName"></param>
        /// <param name="primaryKey"></param>
        /// <param name="value"></param>
        public static async Task DeleteEntity(DbConnector connector, string tableName, string primaryKey, int value)
        {
            string       fieldName;
            SqlParameter p;

            if (primaryKey.StartsWith("@"))
            {
                p         = new SqlParameter(primaryKey, value);
                fieldName = primaryKey.Substring(1);
            }
            else
            {
                p         = new SqlParameter("@" + primaryKey, value);
                fieldName = primaryKey;
            }

            string sql = @$ "DELETE FROM {tableName} WHERE [{fieldName}]={p.ParameterName}";
            await connector.ExecuteSqlNonQuery(sql, p);
        }