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!!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s