Exemple #1
0
        /*TODO:
         * - ObservableCollection<clsPalabra> getPalabrasPorIdPrueba(int idPrueba)
         */

        /// <summary>
        /// Método que obtiene la lista de palabras de una prueba
        /// </summary>
        /// <param name="idPrueba">int con el id de la prueba a la que pertenecen las palabras</param>
        /// <returns>ObservableCollection<clsPalabra> listaPalabras con el listado de las palabras obtenidas</returns>
        public ObservableCollection <clsPalabra> getPalabrasPorIdPrueba(int idPrueba)
        {
            clsMyConnection objConnection = new clsMyConnection();
            SqlConnection   connection    = null;
            SqlCommand      command       = new SqlCommand();
            SqlDataReader   reader        = null;

            ObservableCollection <clsPalabra> listaPalabras = new ObservableCollection <clsPalabra>();
            clsPalabra objPalabra = null;

            try
            {
                connection         = objConnection.getConnection();
                command.Connection = connection;

                command.Parameters.Add("@idPrueba", System.Data.SqlDbType.VarChar).Value = idPrueba;
                command.CommandText = "SELECT * FROM CJ_Palabras pa INNER JOIN CJ_PruebasPalabras pp ON pa.idPalabra = pp.idPalabra WHERE idPrueba = @idPrueba";

                reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        objPalabra = new clsPalabra();

                        objPalabra.IdPalabra  = (int)reader["idPalabra"];
                        objPalabra.Palabra    = (string)reader["palabra"];
                        objPalabra.Dificultad = (byte)reader["dificultad"];

                        listaPalabras.Add(objPalabra);
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
                if (connection != null)
                {
                    objConnection.closeConnection(ref connection);
                }
            }

            return(listaPalabras);
        }
Exemple #2
0
        /// <summary>
        /// Método que obtiene los datos de una palabra ya existente en la BBDD.
        /// </summary>
        /// <param name="palabra">string con la palabra que se desea obtener</param>
        /// <returns>clsPalabra objPalabra, con todos los datos de la palabra obtenida de la BBDD</returns>
        public clsPalabra getPalabraExistente(string palabra)
        {
            clsMyConnection objConnection = new clsMyConnection();
            SqlConnection   connection    = null;
            SqlCommand      command       = new SqlCommand();
            SqlDataReader   reader        = null;

            clsPalabra objPalabra = null;

            try
            {
                connection         = objConnection.getConnection();
                command.Connection = connection;

                command.Parameters.Add("@palabra", System.Data.SqlDbType.VarChar).Value = palabra;
                command.CommandText = "SELECT * FROM CJ_Palabras WHERE palabra = @palabra";

                reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    if (reader.Read())
                    {
                        objPalabra = new clsPalabra();

                        objPalabra.IdPalabra  = (int)reader["idPalabra"];
                        objPalabra.Palabra    = (string)reader["palabra"];
                        objPalabra.Dificultad = (byte)reader["dificultad"];
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
                if (connection != null)
                {
                    objConnection.closeConnection(ref connection);
                }
            }

            return(objPalabra);
        }
Exemple #3
0
        /// <summary>
        /// Método que inserta una nueva palabra en la BBDD
        /// </summary>
        /// <param name="nuevaPalabra">clsPalabra con los datos de la nueva palabra</param>
        /// <returns>int idPalabra, de la palabra insertada en la BBDD</returns>
        public int insertarPalabra(clsPalabra nuevaPalabra)
        {
            clsMyConnection objConnection = new clsMyConnection();
            SqlConnection   connection    = null;
            SqlCommand      command       = new SqlCommand();

            //int filasAfectadas;
            Int32 idPalabra = 0;

            try
            {
                connection         = objConnection.getConnection();
                command.Connection = connection;

                command.Parameters.Add("@palabra", System.Data.SqlDbType.VarChar).Value    = nuevaPalabra.Palabra;
                command.Parameters.Add("@dificultad", System.Data.SqlDbType.TinyInt).Value = nuevaPalabra.Dificultad;


                /*Me llama la atención meter dos sentencias SQL a la vez en el CommandText, pero en la documentación de microsoft lo hacen así, con la sentencia de inserción primero y después
                 * el select, y obtiene el idJugador únicamente que era mi intención, porque es lo único que quiero pasarle a la siguiente vista*/
                command.CommandText = "INSERT INTO CJ_Palabras(palabra, dificultad) VALUES (@palabra, @dificultad) " +
                                      "SELECT * FROM CJ_Palabras WHERE palabra = @palabra"; //Pilla sólo la primera columna y de la primera fila de las afectadas por la sentencia, en mi caso el idPalabra

                //Ejecuta la instrucción SQL
                idPalabra = (Int32)command.ExecuteScalar();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                if (connection != null)
                {
                    objConnection.closeConnection(ref connection);
                }
            }


            return((int)idPalabra);
        }
Exemple #4
0
 /// <summary>
 /// Método que inserta una nueva palabra en la BBDD
 /// </summary>
 /// <param name="nuevaPalabra">clsPalabra con los datos de la nueva palabra</param>
 /// <returns>int idPalabra, de la palabra insertada en la BBDD</returns>
 public int insertarPalabra(clsPalabra nuevaPalabra)
 {
     return(new clsHandlerPalabrasDAL().insertarPalabra(nuevaPalabra));
 }