1. BASE DE DATOS ORIENTADO A OBJETOS EN C# USANDO EL GESTOR
db4o
INSTALACIÓN DE DB4O
Descargaremos el db4 después que ya lo tienes abrimos el ejecutar
Aparecerá una ventana como la siguiente le darás clip en next.
Después se elige el tipo de instalación es mejor realizar la instalación completa
por eso se elige complete y le damos en install.
Esperamos a que termina la instalación ya que termine le dan clip en next.
2. Muestrara una ventana donde dice que la instalación termino exitosamente. Y le
dan clip en finish.
Agregar db4o a c#
Crearan una nueva aplicación en aplicación en c#. abren Visual Studio 2008 y le
dan clip en crear proyecto como se ve en la siguiente figura.
3. Mostrara una ventana como la siguiente, elegimos la opción de aplicación de
consola, y escriben el nombre de su proyecto eligen la dirección donde lo van a
guardar le dan clip en aceptar.
Del lado derecho te mostrara la aplicación le dan clip derecho en preferencias
después vuelven a darle clip en agregar referencia buscamos la ruta del
complemento el cual vamos agregar db4objects.db4o.dll. le dan clip en aceptar
4. EJEMPLO
Para crear una clase le dan clip derecho sobre la aplicación que crearon,
seleccionan agregar le dan clip en clase.
Escribir el nombre de la clase y dar clip en agregar.
Esta clase aparecerá dentro de nuestra aplicación.
para crear nuestro contenedor donde se guardaran todos los objetos que iremos
creando. Debemos crear nuestro contenedor este gestor db4o crea un archivo .
yap que es ahí donde almacena todos los objetos para esto en seguida se
muestra con un ejemplo.
5. En la clase que se acaba de crear crearemos nuestro contenedor como la
siguiente figura para esto antes de crear el contenedor no olvidemos agregar las
librerías using Db4objects.Db4o; using Db4objects.Db4o.Config;
IObjectContainer db; // crearmos una variable de tipo contenedor.
public AccessDB4O() // creamos la funcion y dentro de esta crearemos el
contenedor o si ya esta creado simplemente abrira el contenedor.
{
db = Db4oEmbedded.OpenFile("D:DBOBJECT4O.yap"); //en esta linea creamos
el contenedor dando una direccion donde estara nuestro archivo .yap
}
INSERT
Creamos una función donde insertemos objetos y se guarden en el contendor
creado anteriormente
public bool Insert<t>(t obj) // creamos una funcion de tipo boleano donde le
pasaremos un objeto.
{
db.Store(obj); // ya que tiene el objeto lo guarda en nuetro contenedor db que
asi le pusimos a nuestro contenedor anteriormente
return true;
}
Despues creamos una clase con el nombre de nuestro objeto esta clase tendrá las
propiedades del objeto a crear en la clase principal.
6. En nuestra clase principal ahora vamos a crear los objetos instanciando la clase
de nuestro objeto, después mandamos a llamar la función insert que ya creamos
y le pasamos el objeto.
Si nos conectamos a nuestro contenedor visualizaremos nuestros objetos para
esto nos conectamos al contenedor como la figura siguiente.
7. Consulta select
Realizaremos una consulta donde nos devolverá el objeto guardado, para esto
creamos una función.
public t select<t>(t obj)// creamos una funcion donde le pasaremos un objeto a
consultar
{
IObjectSet result = db.QueryByExample(obj); // creamos una variable de tipo
IObjectSet que va ser igual al objeto que se aya consultado.
if (result.Count > 0) // compara si si es el objeto y nos retorna el objeto.
return (t)result.Next();
return default(t);
}
En la clase principal instanciamos la función select y escribimos el id a consultar.
Ejecutamos nuestra aplicación y nos muestra nuestro objeto.
8. CONSULTA DELETE
Crearemos la función delete.
public t selectborr<t>(t obj) //recibimos un objeto el cual vamos a eliminar
{
int numer = LI.ID;
IObjectSet result = db.QueryByExample(obj);
IList<LIBRO> select = db.Query<LIBRO>(abd => abd.ID == numer); //creamos una
lista donde se va ir buscando id por id hasta donde sea igual el abd.ID == numer si
lo encuentra entra al foreach para eliminarlo y depues de eliminarlo mandara un
mensaje de que fue eliminado de lo contrario no entrara al foreach.
foreach (LIBRO item in select)
{
db.Delete(item);
Console.WriteLine("registro eliminado");
}
return default(t);
}
Si hacemos una prueba y si encuentra el objeto nos mostrara este mensaje de que
si fue eliminado.