Está en la página 1de 12

Cristhian Nez 2010

Lenguaje II
Base De Dato: Biblioteca Tabla: Libro Campo: idlibro, nomlibro, autorlibro, costolibro Ejercicio: Realizar un ingreso de libro en sus respectivos campos. Paso 1: Crear las Bases de datos con sus respectivas tablas y campos.

Cristhian Nez 2010

Paso 2: Realizar el ingreso

Opcin 1: Por Cdigo

Insercin

En el formulario utilizar esta instruccin para poder utilizar los comandos de SQL
using System.Data.SqlClient;

Creamos la cadena de conexin


SqlConnection Conexion = new SqlConnection(@"Data Source=CRISTHIAC8F315\;Initial Catalog=Biblioteca;Integrated Security=True");

Creamos la variable MiComando de SqlComand, esta es la que nos va a permitir el ingreso de datos por medios de parmetros
SqlCommand MiComando; Escribimos la instruccin SQL de la siguiente forma MiComando = new SqlCommand("Insert Libro(idlibro,nomlibro,autorlibro,costolibro) values(@idlibro,@nombrelibro,@autorlibro,@costolibro)", Conexion);

Creamos los parmetros MiComando.Parameters.Add("@idlibro", SqlDbType.NVarChar, 50); MiComando.Parameters.Add("@nombrelibro", SqlDbType.NVarChar, 50); MiComando.Parameters.Add("@autorlibro", SqlDbType.NVarChar, 50); MiComando.Parameters.Add("@costolibro", SqlDbType.NVarChar, 50); Le asignamos los valores de los TextBox como parmetros MiComando.Parameters["@idlibro"].Value = this.Tx_Id.Text; MiComando.Parameters["@nombrelibro"].Value = this.Tx_Nombre.Text; MiComando.Parameters["@autorlibro"].Value = this.Txt_Autor.Text; MiComando.Parameters["@costolibro"].Value = this.Txt_Costo.Text; Abrimos la Conexin Conexion.Open();

Ejecutamos Todo lo asignado a la variable MiComando


MiComando.ExecuteNonQuery(); Enviamos un mensaje MessageBox.Show("Libro Guardado");

Cristhian Nez 2010

Cerramos la Conexin
Conexion.Close(); Para los siguientes ejemplos que declarar lo siguiente: SqlConnection Conexion = new SqlConnection(@"Data Source=CRISTHIAC8F315\;Initial Catalog=Biblioteca;Integrated Security=True"); SqlCommand MiComando; SqlDataReader MiDataReader;

Modificacin

MiComando = new SqlCommand("Update Libro set idlibro=@idlibro, nomlibro=@nomlibro, autorlibro=@autorlibro, costolibro=@costolibro where idlibro=@idlibro", Conexion); MiComando.Parameters.Add("@idlibro", SqlDbType.Char).Value = Tx_Id.Text; MiComando.Parameters.Add("@nomlibro", SqlDbType.Char).Value = Tx_Nombre.Text; MiComando.Parameters.Add("@autorlibro", SqlDbType.Char).Value = Txt_Autor.Text; MiComando.Parameters.Add("@costolibro", SqlDbType.Char).Value = Txt_Costo.Text; Conexion.Open(); MiComando.ExecuteNonQuery(); MessageBox.Show("Libro Modificado"); Conexion.Close();

Eliminacin

MiComando = new SqlCommand("Delete Libro where idlibro=@idlibro", Conexion); MiComando.Parameters.Add("@idlibro", SqlDbType.Char).Value = Tx_Id.Text; Conexion.Open(); MiComando.ExecuteNonQuery(); MessageBox.Show("Libro Borrado"); Conexion.Close();

Mostrar

MiComando = new SqlCommand("select * from Libro where idlibro=@idlibro", Conexion); MiComando.Parameters.Add("@idlibro", SqlDbType.Char).Value = TxtIdBuscar.Text; Conexion.Open(); MiDataReader = MiComando.ExecuteReader(); if (MiDataReader.HasRows) { MiDataReader.Read(); Tx_Id.Text= Convert.ToString(MiDataReader["idlibro"]);

Cristhian Nez 2010


Tx_Nombre.Text= Convert.ToString(MiDataReader["nomlibro"]); Txt_Autor.Text= Convert.ToString(MiDataReader["autorlibro"]); Txt_Costo.Text = Convert.ToString(MiDataReader["costolibro"]); } else { MessageBox.Show("Libro No Encontrado"); Tx_Id.Text = ""; Tx_Nombre.Text = ""; Txt_Autor.Text = ""; Txt_Costo.Text = ""; } Conexion.Close();

Opcin 2: Por Asistente


Hacemos un DataSet Tipado en agregar nuevo origen de datos

Escogemos la base de datos y le damos clip en siguiente hasta la ventana elija los objetos de bases de datos Ah hay que elegir la tabla en la cual vamos a trabajar (en este caso Libros) y cambiamos el nombre al DataSet y damos clip en finalizar. Es preferible ponerle el mismo nombre de la tabla en la cual vamos a trabajar para no confundirse ms adelante.

Cristhian Nez 2010

Para configurar la insercin, modificacin, eliminacin y mostrar los datos, le damos doble clip en el nuevo objeto que se ha creado.

Insercin

Damos clip derecho en el dataSet Tipado , seleccionamos agregar Query

En el asistente que nos sale seleccionamos Usar instrucciones SQL y damos clip en siguiente. Luego escogemos la opcin INSERT y siguiente En esta venta escogemos la opcin generador de consultas

Cristhian Nez 2010

En el asistente que sale damos clip en aceptar porque no vamos a modificar nada, simplemente lo hacemos para que se cambie la instruccin SQL. Damos clip en siguiente y le ponemos el nombre de ingreso y finalizamos

Actualizacin

Es el mismo paso que el anterior solo que en la opcin elija el tipo de consulta escogemos Update. Si sabemos bien la instruccin SQL que vamos a utilizar podemos tranquilamente remplazarla por la que sale. En nuestro caso La instruccin SQL .
UPDATE Libro SET idlibro = @idlibro, nomlibro = @nomlibro, autorlibro = @autorlibro, costolibro = @costolibro WHERE (idlibro = @idlibro)

Cristhian Nez 2010

Si no Podemos Utilizar el asistente de generador de consultas En el generador de consultas como no se va a hacer algo muy extenso

Borramos todos los campos Or En la columna columna borramos todos campos que contengan @ y los campos que tengas ISNull Para as dejar solo los campos de la tabla

En nuestro ejemplo como vamos a actualizar por idlibro le ponemos el valor del campo de la columna del lado izquierdo (Filtro) que en este caso es @ idlibro, y nos queda de la siguiente forma.

Para as poder tener la instruccin que necesitamos 7

Cristhian Nez 2010


UPDATE Libro SET idlibro = @idlibro, nomlibro = @nomlibro, autorlibro = @autorlibro, costolibro = @costolibro WHERE (idlibro = @idlibro)

Seleccionamos siguiente y le damos el nombre de Actualizar, damos siguiente y finalizamos.

Eliminacin

Es el mismo paso que el anterior solo que en la opcin elija el tipo de consulta escogemos Delete Si sabemos bien la instruccin SQL que vamos a utilizar podemos tranquilamente remplazarla por la que sale Si sabemos la instruccin SQL ,que en nuestro caso es :
DELETE FROM Libro WHERE (idlibro= @idlibro)

Si no Podemos Utilizar el asistente de generador de consultas

As mismo como el caso anterior borramos en la columna columna todos los campos que contenga@ y tambin borramos todos los campos de las columnas Or. En nuestro ejemplo como vamos a eliminar por idlibro le ponemos el valor del campo de la columna del lado izquierdo (Filtro) que en este caso es @ idlibro, y nos queda de la siguiente forma.

Cristhian Nez 2010

Aceptamos, damos siguiente, le damos el nombre Borrar, damos siguiente, y finalizamos El dataset tipado nos debe quedar de la siguiente forma

Mostar Datos
Simplemente en el formulario hay que poner un dataGridView y escoger el origen de datos que creamos anteriormente.

Cristhian Nez 2010

Cuando hacemos el paso anterior el C# nos genera el siguiente cdigo


// TODO: esta lnea de cdigo carga datos en la tabla 'libro._Libro' Puede moverla o quitarla segn sea necesario. this.libroTableAdapter.Fill(this.libro._Libro);

Como dice el comentario esta instruccin es la que carga los datos, y esta es la instruccin que va en el botn mostrar.

10

Cristhian Nez 2010

Ingresar
Ejecutado el anterior formulario se nos crea en el cuadro de herramientas dos objetos, en nuestro caso: libroTableAdapter(que es el SqlDataAdapter) libro (que es el DataSet) En este caso solo hay que arrastrar hasta el formulario el libroTableAdapter

Y en botn guardar hacer uso de ello


libroTableAdapter1.Ingreso(Convert.ToDecimal(Tx_Id.Text), Tx_Nombre.Text, Txt_Autor.Text, Convert.ToDecimal(Txt_Costo.Text));

Hace referencia al SqlDataAdapter Ingreso.- Hace referencia al dataset tipado que creamos al principio
libroTableAdapter1.(Convert.ToDecimal(Tx_Id.Text),Tx_Nombre.Text,Txt_Autor.Text, Convert.ToDecimal(Txt_Costo.Text)).-Hace

referencia a lo que se va a

ingresar.
Nota.-

Hay que tomar en cuenta las conversiones respectivas como es el caso de Convert.ToDecimal(Tx_Id.Text) y Convert.ToDecimal(Txt_Costo.Text) que hace una conversin de cadena de texto a decimal. Esto se toma en cuenta porque en la tabla idlibro se ha declarado como un numeric y costolibro como money

Buscar O Mostrar Datos


Utilizaremos el que hicimos en paso de cdigo.
11

Cristhian Nez 2010

Modificar
De la misma manera que el ingresar arrastramos el libroTableAdapter y hacemos uso de lo antes creado. Y en el botn modificar hacemos uso de la siguiente instruccin
libroTableAdapter1.Actualizar(Convert.ToDecimal(Tx_Id.Text), Tx_Nombre.Text,Txt_Autor.Text,Convert.ToDecimal(Txt_Costo.Text));

Hace referencia al SqlDataAdapter Actualizar.- Hace referencia al dataset tipado que creamos al principio
libroTableAdapter1.(Convert.ToDecimal(Tx_Id.Text),Tx_Nombre.Text,Txt_Autor.Text, Convert.ToDecimal(Txt_Costo.Text)).-Hace

referencia a lo que se va a

ingresar.

Eliminar
De la misma manera que el ingresar arrastramos el libroTableAdapter y hacemos uso de lo antes creado. Y en el botn modificar hacemos uso de la siguiente instruccin
libroTableAdapter1.Borrar(Convert.ToDecimal(TxtIdBuscar.Text));

Hace referencia al SqlDataAdapter Borrar.- Hace referencia al dataset tipado que creamos al principio (Convert.ToDecimal(TxtIdBuscar.Text))Hace referencia a lo que se va a ingresar.
libroTableAdapter1.-

Espero que sea de utilidad. cristhian.gl@gmail.com

12