lunes, 31 de agosto de 2015

Abrir un puerto en firewall de Windows

Abrir un puerto en firewall de Windows

Abrir el puerto 1433 de SQL server en firewall de Windows


Como abrir un puerto en firewall de Windows



1- Primero vamos al "panel de control"  y hacemos clic "sistema y seguridad"

2- En la nueva ventana, seleccionamos firewall de windows




3- A continuación clic en "Opciones avanzadas"



4- Ahora nos aparecerá esta ventana donde hacemos clic en "Reglas de entrada"

5- Hacemos clic en "Nueva regla"



6- Se muestra una nueva ventana de configuración, aquí es donde pueden habilitar programas; pero para el caso de nuestro ejemplo, solo vamos a habilitar el puerto 1433, así que marcamos la Opción "Puerto" y le damos clic en "Siguiente"




7- Seleccionamos el tipo de puerto a habilitar TCP, en puertos locales especificos agregamos el número del puerto: 1433 y damos clic en  "Siguiente"



8- La siguiente pantalla vendrían a ser los permisos que le damos al puerto a abrir, lo normal es marcar la casilla "Permitir la conexión" para no tener problemas, clic en "Siguiente" nuevamente.



9- Ahora nos preguntara para que fin lo usaremos, si seleccionamos "Privado" tendremos seguridad en la red pero se pueden marcan cuantas quieran, pueden ser las 3 pero tienen que saber que están habilitando para tener seguridad, clic en "Siguiente"


10- El paso final sería ponerle un nombre para distinguir que estamos Habilitando y una descripción (Opcional) que en la mayoría de los casos no es necesario, para finalizar clic en FINISH (Finalizar).

Eso sería la configuración básica para habilitar y/o abrir un puerto, en Windows 7,8,10 o vista.

lunes, 24 de agosto de 2015

Conectarse a una base de datos con SQL server desde asp.net en C#

Conectarse a una base de datos con SQL server desde asp.net en C#

Espacio de nombres
using System.Data.SqlClient;

El siguiente “bloque” o función es parte de una clase que se conecta a una base de datos en SQL server
La función recibe u obtiene un string llamado “comando” el cual contiene la consulta SQL de la forma “select * from tabla” y regresa un datatable

public DataTable obtenerDataTableSQl(string comando) {

                string cadenaConexion = "Data Source=NombreDeInstacia-O-IP;Initial Catalog=baseDeDatos;User Id=usuario; password=pass";

                DataTable dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(comando, cadenaConexion);

                try
                {
                    da.Fill(dt);
                }
                catch (Exception ex) {
                    mensaje = ex.Message.ToString();
                }
                return dt;


            }

Conectarse a una base de datos con Access desde asp.net en C#

Conectarse a una base de datos con Access desde asp.net en C#

Espacio de nombres:
using System.Data.OleDb;

El siguiente “bloque” o función es parte de una clase que se conecta a una base de datos en Access
La función recibe u obtiene un string llamado “comando” el cual contiene la consulta SQL de la forma “select * from tabla” y regresa un datatable.

La conexión a la base de datos sugiere que es local y que no tiene usuario y contraseña

public DataTable obtenerDataTable(string comando) {

                string cadenaconexion = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\bd\\BASEDATOS.mdb;";

                DataTable dt=new DataTable();
                //SqlDataAdapter da = new SqlDataAdapter(comando,cadenaconexion);
                OleDbDataAdapter da = new OleDbDataAdapter(comando, cadenaconexion);
               
                try
                {
                    da.Fill(dt);
                }
                catch (Exception ex) {
                    mensaje = ex.Message.ToString();
                }
                return dt;
               
            }








domingo, 23 de agosto de 2015

Erro: no es accesible debido a su nivel de protección

Error al acceder a una clase en C#

Erro: no es accesible debido a su nivel de protección

La complicación se muestra porque la clase no es pública o por que el constructor no es público, 

cambie a público el constructor y la clase


Cambie: class czNombreClase por: public public class czNombreClase


sábado, 22 de agosto de 2015

estructura básica de DAL y BO

Estructuras básicas DAL y BO

------------------------------------------------------
Estructura básica BO
------------------------------------------------------
namespace BO {

    class BO-class
    {

         //declaración de variables
         //public tipo nombre {get; set;}
         public int32 contador{get; set;}
    }
}
---------------------------------------------------------
Estructura Básica DAL
--------------------------------------------------------
namespace DAL
{
    class DAL-class
    {

#region “propiedades”

//en este “bloque” se va a declarar las propiedades generales para la página
//mensaje es la propiedad que indicará si hay algún error
private string _mensaje = string.Empty;
        public string mensaje
        {
            get { return _mensaje; }
            set { _mensaje = value; }
        }

#endregion

#region “constructores”

//en este “bloque” se queda así como está agregándole el constructor que por dafault agrega la clase.

public DAL-class() {
        }

Tambien se agregarán en esta apartado las variables que son necesarias para que la clase funcione, por ejemplo un identificador o una cadena de conexión

#endregion


#region “métodos comunes”

//en este “bloque” se ejecutaran las principales consulta a la tabla
public List<BO-class> obtenerTodo()
{
//se espera un procedimiento almacenado.
}
#endregion


#region “métodos Auxiliares”

//en este bloque se ejecutara las consultas menos comunes y los métodos que ayudaran a crear los objetos

public List<BO-class> obtenerListaWhere(String condicion){

//se arma la condición adjuntándole la clausula where
if (condicion.Trim() != String.Empty)
            {
                condicion = "WHERE " + condicion;
            }
//se declara una datatable para contener los datos
DataTable dt = new DataTable();

//la clase classBD tendrá el acceso a la base de datos.
            dt = classBD.obtenerDataTable(String.Format("select * from [dbo].[tabla] {0};", condicion));

            List<BO-class> listaEvento = new List<BO-class>();

            //Sin error
            if (string.IsNullOrEmpty(_mensaje))
            {
                List<BO-class> listaBO-class = new List<BO-class>();
                foreach (DataRow drw in dt.Rows)
                {
                    DataRow dr = drw;
                    listaBO-class.Add(obtenerObjeto(dr));
                }
                return listaBO-class;
            }
            //Retornamos Nothing
            return null;

}

//se asigna los valores que se obtiene de la consulta a las propiedades del BO

private BO-class obtenerObjeto(DataRow dr)
        {
            BO-class temp = new BO-class();
            temp.valorString= dr["valorString "].ToString();
            temp.valorBool= Convert.ToBoolean(dr["valorBool "].ToString());
            temp.valorInt = Convert.ToInt16(dr["valorInt "].ToString());
            if (dr["valorfecha"] is DBNull)
            {
                temp.valorfecha = null;
            }else{
                temp.valorfecha = Convert.ToDateTime(dr["valorfecha"].ToString());
            }
                        
            return temp;
        }
#endregion

     }
}


El valor de una idea radia en el uso que se le da