UNIDAD 5: VISUAL J# 2005 BASES DE DATOS

TEMA 8: INSERCION REGISTROS SQL INSERT

Insertar o agregar registros o renglones nuevos a una tabla en disco, es un proceso sencillo que usa la siguiente instruccion sql:

INSERT INTO TABLA(CAMPO1,CAMPO2..) VALUES(VALOR1,VALOR2..);

SQL INSERT se manda a la base da datos usando el objeto COMMAND

Recordar que solo se esta usando lo minimo de cada instruccion sql, es conveniente estudiar un tutorial de sql.

Tambien recordar que INSERT, UPDATE y DELETE van dentro de un objeto COMMAND.

Recordar agregar IMPORT SYSTEM.DATA.OLDEDB.*; en la parte de arriba o imports del programa o visual j# 2005 no reconocera ningun objeto ado net.

Programa

// un contador global
int cont = 0;
private void button1_Click_1(Object sender, System.EventArgs e)
{
// creando coneccion
OleDbConnection CANAL;
// creando y enlazando coneccion a la base de datos
CANAL = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\datos\\mibase.mdb"); OleDbCommand Orden;
// creando y cargando un objeto OLEDBCOMMAND
// instruccion sql insert into mitabla(listacampos) values(listadatos)
// @variable es una variable de tipo parametro ( o textbox de la forma para que
// se entienda mas)
// y cada variable de estas ocupa un tipo de dato y un valor
String q = "insert into mitabla(nombre,edad) values(@NOMBRE, @EDAD)";
OleDbCommand ORDEN = new OleDbCommand(q, CANAL);
ORDEN.get_Parameters().Add(new OleDbParameter("@NOMBRE", OleDbType.VarWChar, 20));
ORDEN.get_Parameters().get_Item("@NOMBRE").set_Value(NOMBRE.get_Text());
ORDEN.get_Parameters().Add(new OleDbParameter("@EDAD", OleDbType.Integer));
ORDEN.get_Parameters().get_Item("@EDAD").set_Value(EDAD.get_Text());
// recordar que command ocupa tres instrucciones extras que estan abajo
ORDEN.get_Connection().Open();
ORDEN.ExecuteNonQuery();
ORDEN.get_Connection().Close();
// limpiando TEXTBOXS para otra inserccion
NOMBRE.set_Text(" ");
EDAD.set_Text(" ");
// avisando inserccion
cont = cont + 1;
label4.set_Text("REGISTRO no: " + System.Convert.ToString(cont) + " Insertado");
}

corrida prog

image369.jpg

notas:

Se agregaron dos textboxs arriba para capturar los nuevos datos a insertar en la tabla.

RECORDAR QUE CAMPO CLAVE ES DE TIPO AUTONUMBER Y ACCESS SE ENCARGA DE INCREMENTARLO POR SU CUENTA.

En funcion INSERTAR(), se crea la string q con el formato apropiado sql( como se dijo al principio de este tema), observar que existen dos variables que llevan un @ antes, estas variables se llaman VARIABLES PARAMETROS y se cargan con el objeto command.get_parameters()

Otra vez, en este ejemplo para mandar la instruccion sql a la base de datos se crea y se usa un objeto command (llamado orden) que lleva como datos la string q y la coneccion, pero se deben agregar dos metodos command.get_parameters (orden.get_parameters()) por cada textbox que se vaya a enviar a la tabla de la base de datos , en estos metodos se cargan las variables parametro primero con el valor de dato del textbox y luego se transforman al tipo de dato apropiado usando los oledbtype(que hay que estudiar porque se tienen que asociar directamente a los tipos de datos que se usaron en access)

Ya con el objeto COMMAND (orden) listo y cargado para comunicar la instruccion sql a la base de datos se abre la coneccion a la base de datos se manda el executenonquery (no se quiere regresar nada en esta parte, recordar la nota respectiva que se dio en un tema anterior) y se cierra la coneccion y ya se mando el nuevo renglon a la base de datos en disco.

Para asegurarse que ya se efectuo la inserccion en la base de datos, se tendra que usar el programa de consulta o despliegue (SELECT) de el tema anterior

TAREAS PROGRAMACION VISUAL J# 2005 :

1.- Construir muchos programas de inserccion en las tablas de las bases de datos que tengan construidas

2.- Ir Preparando un menu que contenga las opciones de consulta (select) e inserccion (INSERT) para una tabla.

Politica de Privacidad