Exemple #1
0
        protected String buildSort(filtering.Sort sort)
        {
            String str = "";

            if (sort != null)
            {
                for (int i = 0; i < sort.ColumnNames.Count; i++)
                {
                    str += sort.ColumnNames[i] + ",";
                }
                if (str.Length > 0)
                {
                    str = str.Substring(0, str.Length - 1);
                }
                if (sort.Ascending)
                {
                    str += " ASC ";
                }
                else
                {
                    str += " DESC ";
                }
            }
            return(str);
        }
Exemple #2
0
        public override System.Data.DataTable getFiltered(String tableName,
                                                          filtering.BaseFilter filter = null,
                                                          filtering.Sort sort         = null,
                                                          filtering.Paging page       = null)
        {
            int status = -1;

            System.Data.DataTable results = new System.Data.DataTable();

            MySql.Data.MySqlClient.MySqlConnection dbConn = this.ConnectAsync() as MySql.Data.MySqlClient.MySqlConnection;

            if (dbConn != null && dbConn.State == System.Data.ConnectionState.Open)
            {
                String sql = "";
                try
                {
                    sql = "Select * from `" + tableName + "` ";
                    // build filter
                    if (filter != null)
                    {
                        sql += " Where " + buildFilter(filter);
                    }
                    // build sort
                    if (sort != null)
                    {
                        sql += " ORDER BY " + buildSort(sort);
                    }
                    // build paging
                    if (page != null)
                    {
                        sql += " LIMIT " + buildPaging(page);
                    }
                    var cmd = dbConn.CreateCommand();
                    cmd.CommandText = sql;
                    results         = parseResults(cmd.ExecuteReader());
                    status          = 0;
                }
                catch (Exception ex)
                {
                    if (m_DebugInfo)
                    {
                        Console.WriteLine("Error [{0}]: {1}", tableName, ex.Message);
                    }
                    status = -2;
                }
                finally
                {
                    if (dbConn != null)
                    {
                        try
                        {
                            dbConn.Close();
                        }
                        finally
                        {
                            dbConn.Dispose();
                        }
                    }
                }
                decrementOpenConnections();
            }

            return(results);
        }