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; }
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; }
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); }
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; }
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; }