Beispiel #1
0
        /// <summary>
        /// </summary>
        public override DataTable GetDataTableBySelection(string menu, string selection, int numberOfLevels, string sql, DatabaseParameterCollection parameters)
        {
            DataTable dataTable = new System.Data.DataTable();

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                SqlCommand selectCommand = new SqlCommand(sql, connection);

                selectCommand.Parameters.AddRange(
                    new SqlParameter[]
                {
                    new SqlParameter("@menu", SqlDbType.VarChar, parameters["menu"].Size)
                    {
                        Value = menu
                    },
                    new SqlParameter("@selection", SqlDbType.VarChar, parameters["selection"].Size)
                    {
                        Value = selection
                    },
                    new SqlParameter("@levels", SqlDbType.Int, parameters["levels"].Size)
                    {
                        Value = numberOfLevels
                    }
                }
                    );

                new SqlDataAdapter(selectCommand).Fill(dataTable);
            }

            return(dataTable);
        }
Beispiel #2
0
        /// <summary>
        /// </summary>
        public override DataTable GetDataTableBySelection(string menu, string selection, int numberOfLevels, string sql, DatabaseParameterCollection parameters)
        {
            log.DebugFormat("Getting menu for menu, selection, numberOfLevels: {0}, {1}, {2}", menu, selection, numberOfLevels);
            log.DebugFormat("SQL: {0}", sql);

            DataTable dataTable = new DataTable();

            using (OracleConnection connection = new OracleConnection(connectionString))
            {
                connection.Open();

                OracleCommand command = new OracleCommand(sql, connection)
                {
                    BindByName = true
                };

                command.Parameters.Add("levels", OracleDbType.Int32, parameters["levels"].Size, numberOfLevels, ParameterDirection.Input);
                command.Parameters.Add("menu", OracleDbType.Varchar2, parameters["menu"].Size, menu, ParameterDirection.Input);
                command.Parameters.Add("selection", OracleDbType.Varchar2, parameters["selection"].Size, selection, ParameterDirection.Input);

                new OracleDataAdapter(command).Fill(dataTable);
            }

            return(dataTable);
        }
Beispiel #3
0
        public override System.Data.DataTable GetDataTableBySelection(string menu, string selection, int numberOfLevels, string sql, DatabaseParameterCollection parameters)
        {
            DataTable dataTable = new DataTable();

            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                connection.Open();

                string pattern = ParameterChar + "[a-z]*";
                int    c       = 0;

                List <OleDbParameter> values = new List <OleDbParameter>();

                foreach (Match m in Regex.Matches(sql, pattern))
                {
                    object value;

                    if (m.Value == (ParameterChar + "menu"))
                    {
                        value = menu;
                    }
                    else if (m.Value == (ParameterChar + "selection"))
                    {
                        value = selection;
                    }
                    else if (m.Value == (ParameterChar + "levels"))
                    {
                        value = numberOfLevels;
                    }
                    else
                    {
                        value = null;
                    }

                    values.Add(new OleDbParameter("paramOleDb" + (c++), value));
                }

                sql = Regex.Replace(sql, pattern, "?");

                OleDbCommand command = new OleDbCommand(sql, connection);
                command.Parameters.AddRange(values.ToArray());

                new OleDbDataAdapter(command).Fill(dataTable);
            }


            return(dataTable);
        }
Beispiel #4
0
 /// <summary>
 /// Retrieves data from database for a given SQL. The method must be implemented in the derived class.
 /// Items must be returned in such an order, that a parent is before a child of that item.
 /// </summary>
 /// <param name="menu">The menu for which to retrieve data</param>
 /// <param name="selection">The selection for which to retrieve data</param>
 /// <param name="numberOfLevels">Number of levels to retrieve from the database</param>
 /// <param name="sql">The SQL supplied by the base class</param>
 /// <param name="parameters">List of parameters</param>
 /// <returns></returns>
 /// Parameters are actually accessible. They are included for implicit documentation.
 public abstract DataTable GetDataTableBySelection(string menu, string selection, int numberOfLevels, string sql, DatabaseParameterCollection parameters);
Beispiel #5
0
        public override System.Data.DataTable GetDataTableBySelection(string menu, string selection, int numberOfLevels, string sql, DatabaseParameterCollection parameters)
        {
            //TODO: Connect to Sybase, extract and return data.

            throw new NotImplementedException();
        }