Exemple #1
0
        public virtual IList ToList(IModel model, string fieldName, Queryset queryset)
        {
            string query = GenerateSelectQuery(model.ModelDbAlias + "." + fieldName, model, queryset);
            IList<DbValue[]> dbValuesList = ExecuteQuery(query, queryset != null ? queryset.GetParamsList() : null);

            ArrayList list = new ArrayList(dbValuesList.Count);
            foreach (DbValue[] dbValues in dbValuesList)
                list.Add(dbValues[0].Value);

            return list;
        }
Exemple #2
0
        public virtual DataTable ToDataTable(IModel model, string[] fieldNames, Queryset queryset)
        {
            string query = "";
            for (int i = 0; i < fieldNames.Length; i++)
            {
                if (i > 0)
                    query += ",";
                query += model.ModelDbAlias + "." + fieldNames[i];
            }

            query = GenerateSelectQuery(query, model, queryset);
            IList<DbValue[]> dbValuesList = ExecuteQuery(query, queryset != null ? queryset.GetParamsList() : null);

            DataTable dt = new DataTable();
            foreach (string fieldName in fieldNames)
                dt.Columns.Add(new DataColumn(fieldName, typeof(object)));

            foreach (DbValue[] dbValues in dbValuesList)
            {
                DataRow row = dt.NewRow();
                foreach (DbValue dbValue in dbValues)
                    row[dbValue.Column] = dbValue.Value;
                dt.Rows.Add(row);
            }
            return dt;
        }
Exemple #3
0
 public virtual IList<DbValue[]> Select(IModel model, Queryset queryset = null)
 {
     string query = GenerateSelectQuery(ToFieldNamesList(model), model, queryset);
     return ExecuteQuery(query, queryset != null ? queryset.GetParamsList() : null);
 }
Exemple #4
0
        public virtual long SelectCount(IModel model, Queryset queryset = null)
        {
            if (model != null)
            {
                string sCountSql = string.Format("SELECT COUNT(1) FROM {0} as {1}{2}{3}",
                                    model.ModelDbName,
                                    model.ModelDbAlias,
                                    queryset != null ? queryset.GetJoins(this): "",
                                    queryset != null ? queryset.GetWhereClause(this) : "");

                object res = ExecuteScalar(sCountSql, queryset != null ? queryset.GetParamsList() : null);

                long count;
                if (res != null && Int64.TryParse(res.ToString(), out count))
                    return count;
            }

            return -1;
        }
Exemple #5
0
        public virtual bool Delete(IModel model, Queryset queryset)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("DELETE FROM ");
            sb.Append(model.ModelDbName + " as " + model.ModelDbAlias);
            if (queryset != null && !queryset.IsEmpty)
            {
                sb.Append(queryset.GetJoins(this));
                sb.Append(queryset.GetWhereClause(this));
            }

            ExecuteNonQuery(sb.ToString(), queryset != null ? queryset.GetParamsList() : null);
            return true;
        }