Error al Instalar SQL Server 2008 R2

Solución – Error al Instalar SQL Server 2008 R2

Después de reinstalar Windows 7 en mi portátil me dispuse a instalar SQL SERVER 2008 R2, el ejecutar la instalación me topé con la siguiente ventana de error.
clip_image001

Error: “SQL server setup media does not support the language of the OS or does not have ENU localized files. Use the matching language-specific SQL Server media or change the OS locale through Control Panel.”

Este error es fácil de solucionar, se debe a que el paquete de instalación de SQL SERVER 2008 R2 verificado la configuración regional/idioma de nuestra computadora y verifica que este en Español, pero yo lo tengo en Español, porque me da ese error ¿?.

Bueno en mí caso mi Windows está configurado como Español (México) y lo que la instalación verifica es que estemos en Español (España).
Muchos de nosotros podemos estar en Español (México) , Español (Argentina) etc… y tendremos este problema, lamentablemente se les paso la mano en ese aspecto a los del SQL Server. Pero vamos a la solución que como les dije es bastante simple.
Solución:

  1. Ir al Panel de Control
  2. Configuración regional y de idioma
  3. Formatos: Seleccionar Español( España)
  4. Aplicar Cambios
  5. clip_image002
  6. Ejecutamos la Instalación de SQL SERVER 2008 R2
  7. Una vez instalado SQL Server podemos regresar a nuestra configuración anterior
  8. clip_image003
  9. La Seleccionamos y damos a Aplicar
  10. Listo! , Todo solucionado

Me sirvio demaciado, este  link fue  tomado de http://puntocode.wordpress.com/2010/08/04/solucin-error-al-instalar-sql-server-2008-r2/

Conectar web asp.net con sql server

En este episodio veremos como  hacer  una conexión manual a una  BD Microsoft Sql Server e insertar  o cuonsultar datos en SQL-IN LINE es decir con  sentencias sql (No es la mas optima para trabajar peor es necesario aprenderla) y no  con procedimientos almacenados( la mejor tecnica para el trabajo estructurado)
par a empezar necesitamos que  esten estas librerias:

using System.Data;
esta librería permite acceder a todos los controles  para intermediar con los datos  que devuelve el servidor de BD Sql.

using System.Data.SqlClient;
Esta librería permite acceder a los controles que me permiten abrir  una conexión usarla traer  y envia r informacion al servidor de bases de datos o BD

Creamos un formulario:

Utilizaremos  Textbox,CommandBoton.

Creamos los  siguientes objetos y los explicaremos cada uno:

 SqlConnection : Este objeto es de  la clase System.Data.SqlClient; y este objeto nos  permite manejar conexiones(Abrirla , Cerrarla).

 SqlCommand:Este objeto es de  la clase System.Data.SqlClient; y este objeto nos  permite manejar los comandos y  se alimenta de la conexión abierta de el SqlConnection por medio de  el se pueden introducir codigo sql como comando y tambien podemos establecer contacto por medio de el a los procedimientos almacenados.

 SqlDataAdapter: Este objeto es de  la clase System.Data.SqlClient; y este objeto nos  permite manejar las  acciones de consulta y nos  ayuda  a llenar el dataset o el datatable con los datos del servidor.

DataSet  Este objeto es de  la clase System.Data; y este objeto nos  permite manejar los datos  que  nos  traemos del servidor de  la base de datos y que  llenamos  con el SqlDataAdapter.

Partiendo de  que  los  objetos del formulario antes  mostrado asigne los  siguientes nombre(si quiere llamar los controles  diferente tiene que  observar muy  bien el ejemplo para no perderse.

txtnitcc_cliente    (Cedula o Nit)   
txtnombre_cliente (Nombre de la persona)
txttelefono_cliente (Telefono de la persona)
txtcelular_cliente (Celular de la  persona)
txtmail_cliente (Mail de la persona)
txtdireccion_cliente (Dirección de la  persona)

Ojo!!! el  formulario no esta  validado asi que no nos podemos dar el lujo de meter cualquier cosa este  ejemplo es par a que aprendamos  a  hacer  todo desde 0 manual para  que entendamos los procesos qie  sigue el sistema par a el manejo de datos.

Vamos a crear las  funciones que  vamos a utilizar en el formulario siguiendo  los 4 pasos que son Consulta, Insertar, Modificar, Eliminar.

Estas funciones las ponemos debajo de la llave del evento Page_Load para  que  no les ponga problema y sea accesibles en esa página  sin  ningun problema.

 public void consultar_datos_persona()
        {
            /* Instanciamos un objeto conexion de tipo Sqlconnection*/
            SqlConnection conexion = new SqlConnection();
            /* Asignamos al objeto  conexión una cadena de  conexión que consta
             de Data sourse que es la direccion  y la  instancia del servidor en este caso
             el servidor se llama ESTEBAN-PC y la instancia SQLEXPRESS, Initial Catalog es
             la base de  datos, User es el usuario sql del servidor, al  igual que el Password para
             poder loguearse en el servidor.
             *
             Esta cadena de conexion varia  un poco depende  del  motor de  base de  datos al cual
             *se desee conectar.
                                   */
            conexion.ConnectionString = @”Data Source = ESTEBAN-PC\SQLEXPRESS;Initial Catalog = BDejemplo1;Persist Security info=true; User=sa;Password = 1;”;
           /*la abrimos para establecer una conexion*/
            conexion.Open();
            /*Instanciamos un objeto oComando de tipo SqlCommand*/
            SqlCommand oComando = new SqlCommand();
            /*Le asignamos una  conexión abierta a el objeto oComando*/
            oComando.Connection = conexion;
            /*Despues de  asignar la  conexión  empezamos a indicar el
             comando a utilizar de los 4 tipos antes mencionados
             en este caso  seria  la de consultar  pero especificando que dato
             en especifico  queremos en este caso  seria por cedula como e sun comando  va  directamente en
             string par a ser decifrada y procesada por el sevidor
             */
            oComando.CommandText = “select * from tblpersona where nitcc_cliente=”+Convert.ToInt64(txtnitcc_cliente.Text);
            /*Despues de  tener los  comandos,la conexión abierta le  entregamos  todo al DataAdapter que es el que  media al final del proceso*/
            SqlDataAdapter adaptador = new SqlDataAdapter(oComando);
            /*Instanciamos el  objeto adaptador de la tipo DataSet
             */
            DataSet dt = new DataSet();
            /*Llenamos con lo que nos devuelve el DataAdapter el DataSet*/
            adaptador.Fill(dt);
            /*Preguntamos  si  llegaron  o  no registros*/
            if (dt.Tables[0].Rows.Count > 0)
            {
                /* Si la cantidad de registros es  mayor de  0 es
                 por que si llegaron registros asi  que procedemos a procesarlos
                
                 explico como asigno y por que los  datos:
                 txtnitcc_cliente.Text = dt.Tables[0].Rows[0][“nitcc_cliente”].ToString();
                 control.text          =  objeto_dataset.Tables[Posicion].Rows[numero_fila][campo_base_de_datos].Tostring();
                 *
                 * el control es  el nombre que el pusimos  al textbox
                 *
                 objeto_dataset es el  nombre del dataset  que  instanciamos y llenamos de  datos
                 *
                 .Tables[0]  es el numero de la  tabla pro lo general  casi  siempre utilizamos  una
                 osease la primera  que en este caso es la 0.
                 *
                 Rows[numero_fila] es el numero de la  posicion de la fila d ela  cual nos vamos
                 a ubicar par a sacar los datos
                 *
                 [campo_base_de_datos].Tostring(); y en este ultimo especificamos la columna donde esta el dato
                 puede ser especificada en numero, sí sabe el orden de las columnas o se puede especificar
                 el nombre del campo.
                 *
                
                 */
                txtnitcc_cliente.Text = dt.Tables[0].Rows[0][“nitcc_cliente”].ToString();
                txtnombre_cliente.Text = dt.Tables[0].Rows[0][“nombre_cliente”].ToString();
                txttelefono_cliente.Text = dt.Tables[0].Rows[0][“telefono”].ToString();
                txtcelular_cliente.Text = dt.Tables[0].Rows[0][“celular”].ToString();
                txtmail_cliente.Text = dt.Tables[0].Rows[0][“email”].ToString();
                txtdireccion_cliente.Text = dt.Tables[0].Rows[0][“direccion”].ToString();
            }

        }

Luego sigue la funcion par a ingresar datos:

public void insertar_datos()
        {

            /* Instanciamos un objeto conexion de tipo Sqlconnection*/
            SqlConnection conexion = new SqlConnection();
            /* Asignamos al objeto  conexión una cadena de  conexión que consta
             de Data sourse que es la direccion  y la  instancia del servidor en este caso
             el servidor se llama ESTEBAN-PC y la instancia SQLEXPRESS, Initial Catalog es
             la base de  datos, User es el usuario sql del servidor, al  igual que el Password para
             poder loguearse en el servidor.
             *
             Esta cadena de conexion varia  un poco depende  del  motor de  base de  datos al cual
             *se desee conectar.
                                   */
            conexion.ConnectionString = @”Data Source = ESTEBAN-PC\SQLEXPRESS;Initial Catalog = BDejemplo1;Persist Security info=true; User=sa;Password = 1;”;
            /*la abrimos para establecer una conexion*/
            conexion.Open();
            /*Instanciamos un objeto oComando de tipo SqlCommand*/
            SqlCommand oComando = new SqlCommand();
            /*Le asignamos una  conexión abierta a el objeto oComando*/
            oComando.Connection = conexion;
            /*Despues de  asignar la  conexión  empezamos a indicar el
             comando a utilizar de los 4 tipos antes mencionados
             en este caso  seria  la de consultar  pero especificando que dato
             en especifico  queremos en este caso  seria por cedula como e sun comando  va  directamente en
             string par a ser decifrada y procesada por el sevidor
             */
            oComando.CommandText = “Insert Into tblpersona (nitcc_cliente,nombre_cliente,telefono,celular,email,direccion) Values(” + Convert.ToInt64(txtnitcc_cliente.Text)+”,'”+ txtnombre_cliente.Text+”‘,”+txttelefono_cliente.Text+”,”+txtcelular_cliente.Text+”,'”+txtmail_cliente.Text+”‘,'”+txtdireccion_cliente.Text+”‘)”;
            /* Como  no es una consulta no necesitamos el datadapter ni dataset por la sencilla razon
             de que no  vamos a traer datos y es EndExecuteNonQuery cuando  insertamos,modificamos,eliminamos*/
            oComando.ExecuteNonQuery();
          
          

      
      
        }

Espero que les funciones  y sirva!!

como deshabilitar el postback para que solo se cargue una vez

Que es eso del PostBack en ASP.NET?
el postaback implica la comunicacion del cliente con el servidor cuando se lanza un evento de un control de asp.net en si mismo el postback no mantiene la informacion de los controles, es justamente el viewstate el que lo hace cuando se invoca una pagina mediente una accion de postback en un evento de un control, este ejecuta todo el ciclo de vida de esa pagina, incluido el Page_Load, es por eso que seguro habras visto que existe el IsPostBack
pudiendo hacer
private void Page_Load(…){
   if(!IsPostBack){
      //aqui trabjas con la carga inicial de los controles
   }
}
cuando una página se carga la primera vez el IsPosBack sera false, solo cuando se invoca a la pagina ante un evento de un control es que el IsPostBack sera true, ya que como comente este implica una llamada al servidor ante un evento de un control.

Que es StateView?

como bien has comentado, si en algun momento has visto el codigo generado en el cliente, veras que ha un codigo por lo general largo que pareciera estar cifrado bajo el nombre _VIEWSTATE, alli es justamente donde la pagina conserva los valores de los controles 

Que es Callback?
En el modelo por defecto para las páginas Web ASP.NET, el usuario interactúa con una página y hace clic en un botón o realiza alguna otra acción que da lugar a una devolución de datos. La página y sus controles se vuelven a crear, el código de la página se ejecuta en el servidor, y una nueva versión de la página se representa en el explorador. Sin embargo, en algunas situaciones, es útil para ejecutar el código del servidor desde el cliente sin realizar una devolución de datos. Si el script de cliente en la página es mantener cierta información de estado (por ejemplo, valores de las variables locales), la publicación de la página y obtener una nueva copia de la misma destruye ese estado. Además, las devoluciones de datos página introducir la carga de procesamiento que puede disminuir el rendimiento y obligar al usuario a esperar a que la página se procese y se vuelven a crear. Para no perder el estado del cliente y no incurrir en la sobrecarga de procesamiento de un servidor de ida y vuelta, puede codificar una página Web ASP.NET para que pueda realizar devoluciones de llamada de cliente. En una devolución de llamada del cliente, una función de script de cliente envía una petición a una página web ASP.NET. La página Web se ejecuta una versión modificada de su ciclo de vida normal. La página se inicia y sus controles y otros miembros se crean, a continuación, un método especialmente marcado invoca. El método realiza el procesamiento que se ha codificado y luego devuelve un valor para el navegador que puede ser leído por otra función de script de cliente. A lo largo de este proceso, la página se vive en el navegador.
Varios controles de servidor Web puede utilizar devoluciones de llamada del cliente. Por ejemplo, el TreeView control utiliza devoluciones de llamada de cliente para implementar su pueblan-on-demand funcionalidad. Para más información vea TreeView de servidor Web general sobre el control .
Hay varias opciones para la automatización de las devoluciones de llamada del cliente en una página web ASP.NET. Características de AJAX en ASP.NET, como el UpdatePanel control de servidor se puede automatizar asíncrono actualizaciones parciales de página para que usted, y el servicio Web función de comunicación asíncrona puede automatizar las llamadas de servicio Web.
Para una descripción de las características de AJAX en ASP.NET que automatizan las devoluciones de llamada de cliente para usted, vea los siguientes temas:

También puede escribir sus propios scripts de cliente para implementar funciones callback de cliente directamente. Este tema trata sobre cómo poner en práctica su propio cliente callbacks para la comunicación asincrona entre el cliente y el servidor.
Un proyecto de Visual Studio con código fuente está disponible para este tema: Descargar .

Tenemos que crear una solución y tener un pagina asp.net luego nos  vamos al codigo fuente  es decir al codigo servidor  que  acedemos a  el   una vez estando en la parte de  diseño  damos  click derecho  y seleccionamos  ver codigo:


Luego en el evento load copiamos lo  siguiente:

  if(!IsPostBack){
      //aqui trabjas con la carga inicial de los controles
   }

 
Lo que  hacemos es  que no se actualice  constantemente  los controles que  poseen Auto postback en general, para que no se restablesca  algun cambio que realizamos en la página  como el seleccionar  alguna  acción  en los checkbox o en el droplistbox por ejemplo.
Ya  que  hay que recordar que el postback  es  una  ida  y  vuelta  al servidor  y  si no se  hace esto  el  piensa que  hemos resfrescado la página.

Espero  que  les  sea  de  ayuda!! XD