Acceso a Base de Datos

ACCESO A BASE DE DATOS LA TECNOLOGIA DE ACCES A DATOS DENTRO DE VISUAL STUDIO PARA TODOS LOS LENGUAJES .NET SE DENOMINA

Views 177 Downloads 7 File size 626KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ACCESO A BASE DE DATOS

LA TECNOLOGIA DE ACCES A DATOS DENTRO DE VISUAL STUDIO PARA TODOS LOS LENGUAJES .NET SE DENOMINA: ADO.NET (ACCESS DATA OBJECTS) SIMPLEMENTE ES UN CONJUNTO DE CLASES QUE TE VA A PERMITIR LOGRAR EL ACCESO A UNA FUENTE DE DATOS.

GENERALMENTE TODAS ESAS CLASES SE VAN A ENCONTRAR EN EL ESPACIO DE NOMBRES: SYSTEM.DATA POR LO QUE ES NECESARIO IMPORTAR ESE ESPACIO CASI SIEMPRE. (¿Cuándo NO SE OCUPA?==CUANDO EXISTAN BASES DE DATOS RARAS O NO EXISTA EL PROVEEDOR DE DATOS) En el contexto de programación el acceso a datos se conoce como la realización de las operaciones “CRUD”. (Create, Read, Update,Delete), (también se pueden conocer como las operaciones ABC de los datos (Agregar,Borrar,Consultar)

ADO.net se basa en 2 conceptos principales: 1° Proveedor de datos El cual sirve como intermediario,entre la aplicación y la fuente de datos. (driver), por lo general lo proporciona la marca de la fuente de datos. 2° DataSet Que es una estructura de datos dinámica y jerarquica que se construye automáticamente desde una consulta a la fuente de datos pero función en memoria de forma local para que la aplicación pueda tener acceso a los datos.

Buscar Miguel Muñoz Serafin

EL PROVEEDOR DE DATOS:

Debe de incluir la siguiente funcionalidad:

   

Connection: establecer un “camino”==ruta con la fuente de datos. Command: Objeto que permite “llevar ” a la fuente de datos una instrucción. A través de la conexión establecida. DataAdapter: parecido al command, pero puede ejecutar al mismo tiempo mas de 1 instrucción. DataReader: es un contenedor local de datos para consultas rapidas que es de solo lectura y “Avance hacia adelante” == como cuando lees un arreglo. Es decir lees un dato y no puedes regresar hacia atrás en un foreach. eje. Login de correo. (consulta rapida)

En el caso del DataSet( una base de datos en la memoria) Contiene toda una jerarquía de clases que va a permitir manipular los datos de forma local.

El DataSet contiene:    

DataTables: “collection” de “tablas en memoria” DataRows : colección de objetos (similar a un registro o una tupla) DataColumns: colección de onjetos parecidos a las columnas DataRelations: es muy similar a las relaciones entre tablas de una base de datos (pero con datatables) se emplea para mantener la integridad referencial: no puedes insertar una llave foránea que no exista en otra tabla (las consultas se actualizan al terminar de actualizar el servidor local, no en streaming constante)

ADO.net se dice que trabaja en un entorno desconectado, porque solo se conecta a la fuente de datos lo necesario, es decir. En lugar de mantener una conexión abierta todo el tiempo, solo abre la conexión, realiza lo necesario y se desconecta. (Nota: DataSource==Fuente de datos;ejem. Base de datos o sistema de archivos)

Demo: Hacer una conexión a una base de datos de access: Consideraciones: -Muchas versiones de Access(el access viene con el office)    

2016,2013 compartibles entre si 2010 2007 compartibles entre si 2003,2000,XP Office 1997

Las diferentes versiones a veces causan problemas entre si, porque usan proveedores de datos compartibles. Mas problemas…. Las versiones emplean diferentes arquitecturas…. A partir de 2010 microsoft cambio de x86 a x647 Windows x86 o 32 bits Windows x64 o 64 bits

Office de 32 bits Office de 32 bits Office de 64 bits

En algunos casos va a ser necesario instalar un complemento para el proveedor de datos de Access.

Se debe importar el proveedor de datos para Access (OleBD), se va a crear un objeto de conneccion y en su propiedad ConecctionString, se van a insertar los parámetros necesarios para conectarse a una base datos Access.

Forma de corregir el error Orphan: (incompartibilidad de versiones de x86 y x64)

Paso de parámetros por referencia: Perro z; == referencia a un objeto== una variable que puede convertirse en un objeto.

Z=new perro(); == la variable construye un objeto

¿Referencia? -“Dirección en memoria” -una referencia quiere decir que se está accediendo a la dirección original de un objeto o de un tipo de dato o incluso de un formulario. -(EJEMPLO: Ejercicios de multi-formulario. {Desde un formulario llamas a otro formulario}) --en una referencia, cuando se invoca, se va al punto fuente de los datos (sin intermediarios de por medio.) Las referencias estáticas son útiles, siempre y cuando se empleen para datos con poca importancia o “no interpretables“, debido a que cuando se mapea un sistema, las variables estáticas casi siempre se conservan en memoria (si no se emplea un destructor para liberar memoria) (nota: recursividad es un método que se llama a si mismo de manera controlada… Es como Public void Algo2() { //líneas de código Algo2(); } )

Nota: Stacoverflow es un desbordamiento de memoria, es decir: la memoria existente deja de ser sufieciente para ejecutar las operaciones. (las cuales se acumulan)== la memoria es un guardia que revisa los pasaportes de los pasajeros, los pasajeros son los procesos que buscan pasar por esa puerta y cuando son muchos, el guardia no puede atender a tantos.

Para entender como funciona una referencia tenemos que imaginar como funciona una memoria ram La memoria ram se divide en 2 1° Primero se encuentra el Stack(lugar donde se almacena la informacion mas importante que no se modificara de forma inmediata o una variable que se

empleara para multiples procesos ) (el stack es una memoria muy pequeña donde se declaran los tipos “nativos” y las referencias.)

Y la 2° división es el –Heap( o el “monticulo”) Que permite muchísimos cambios u operaciones. Por segundo.

Es decir, 1° una guarda el direccionamiento de los datos == directorio telefónico Y el 2° guarda los datos de manera temporal y procesa los datos.==secretarias y almacenes temporales de datos. ///si se declaran valores staticos: el encargado de borrarlos será el sistema operativo. No la memoria volátil. Por lo que si el sistema no las borra o el proceso en el mismo aun no decide borrarlos, permanecerán en el mismo hasta su destrucción. Lo que deja a esos datos como “no importantes” y no se sabe quien podria revisar esa “basura a punto de desecharse” lo que implica una vulnerabilidad atacable.

STACK: TIPOS DE DATOS NATIVOS Y REFERENCIAS HEAP Procesos rapidos y repetitivos con los datos, y almacen de los mismos de manera temporal(puesto que es RAM y recordemos que los datos se pierden al apagar el equipo.)

NOTA: Una referencia se puede encimar encima de un objeto ya existente. (2 direcciones diferentes apuntan a una casa== objeto) //no es correcto en la vida real, pero asi funciona la programación xD Es decir. Anteriormente presente:

Si

Perro r; r.Apodo=”fifi”; //truena: porque sabe que va a introducir. Y como, pero no donde.

En cambio: Si Perro r; r = new Perro();//para crear un objeto a partir de 0 ó r=z; //para emplear el mismo objeto que emplea la referencia z r.Apodo=”fifi”;

//solo mem ¿referencia? “dirección en memoria (punto general de los datos o intermediario)” Una refererencia quiere decir que esta accediendo a la dirección original de un objeto o un tipo de dato o incluso un tipo de dato, o un formulario “las referencias son fundamentales para hacer programación dinamica” Las referencias se pueden encimar o traslapar sobre un objeto ya creado “las referencias se pueden apuntar siempre hacia otro objeto ya creado”

Perro z = new Perro(); z.Edad=3; Perro w; w=z; w a pesar de ser una referencia, como se asigna a lo que tiene z, w se encima a lo que tiene el objeto y entonces tanto w como z estan direccionados al mismo objeto, cualquier cambio en una propiedad será sobre el mismo objeto.

Paso de parámetros por valor y por referencia Cuando en un método se definen parámetros para tener comunicación de ese metod hacia el exterior, por lo regular se hace paso de parámetros por valor, esto quiere decir, que el valor original se le saca una copia;Al momento de llegar al método. La copia es la que se usa durante la ejecución del método (no el original) El valor original entonces permanece intacto.

Ejemplo: parámetros por valor Public void algo(x)//se trabaja sobre la copia…3 { Int z=20; z=z*x; x=100 } Click()//evento { Int a = 5;//valor original…1 algo(a);//pasa una copia…2 MessageBox.Show(a.toString()); }

Paso de parámetros por referencia: Como su nombre lo indica se pasa la referencia de la variable es decir la dirección de la variable, y entonces cualquier modificación dentro del metodo, la hace sobre el original.

Public void algo2( ref int d) { Int z=20; z=z*x;

x=100 } Click()//evento { Int a = 5; Algo2(ref d); MessageBox.Show(a.toString()); }

Public int algo3(ref string cad) { Int w = 100; cad = “un mensajito”; return w; }