Antes que nada, te agradezco scientist por tus comentarios y sobre todo por el interes que pones en el material que les dejo, por lo menos se que alguien si ha probado los componentes.
el dia de hoy dejare para ustedes un nuevo componente llamado abdsqlite.dll que no es mas que el resumen de --Acceso a bases de datos SQLite -- que ya lo pueden ir descargando del siguiente enlace
Ensamblado abdsqlite.dll.
Iniciare exponiendo la forma que esta constituido este componente y la manera en que trabaja.
El ensamblado abdsqlite.dll es un conjunto de clases que nos ayudan a gestionar, organizar y obtener informacion desde una base de datos de manera ordenada. El conjunto de clases que lo componen son:
1.-
Campo - esta clase almacena los datos, verifica que sean del tipo declarado y es identificado por un nombre.
2.-
GeneradorSql - es una clase estatica que permite la creacion de sentencias sql mediante el uso de los datos albergados dentro del registro.
3.-
Registro - Conjunto de campos organizados mediante una lista enlazada, gestiona operaciones como insertar, borrar, actualizar, consultar, etc.
4.-
Tabla - maneja un conjunto de registros y realiza operaciones como consultas, e inserciones en la BD, en memoria gestiona los registros antes de ser guardados
5.-
AccesoBD gestiona el enlace directo con la BD.
Cada una de estas clase cuenta con funciones y procedimientos que interactuan con los datos en memoria o directamente con la BD, estas retornan un valor booleano que indica si su accion o proceso ha sido ejecutado correctamente.
Con la practica veran que es muy facil manejar el componente.
Pues bien manos a la obra... ahora realizaremos un ejercicio con la base de datos "demo.db3" creada en el post anterior, con una pequeña aplicacion para autentificar usuarios.
PASO 1.
Creamos un nuevo proyecto, lo guardamos y lo compilamos por primera ocasion. Esto nos generara el conjunto de directorios que componen el proyecto, en la carpeta Debug copiamos, el contenido del archivo zip y el archivo de la base de datos demo.db3

El ensamblado adbsqlite hace uso del System.Data.SQlite.dll, si ustedes desean pueden usarlo de manera directa.
PASO 2.
Agregamos una referencia al abdsqlite.dll como se muestra a continuacion:

Este procedimiento lo hicimos en el ejercicio anterior.
PASO 3.
Creamos un pequeño formulario como el que a continuacion se muestra, recuerden que estamos haciendo un ejemplo para la autentificacion de usuarios de manera muy simple.

PASO 4.
Se añaden las variables
AccesoBD el cual se inicializa en el constructor con el parametro que indica la localidad y nombre de la base de datos.
Se añade una variable de tipo
Registro que se inicializa con el nombre de la tabla que vamos a acceder y el medio de enlace.

los parametros de inicalizacion del campo sirven para:
a) nombreDelCampo - es evidente.
b) esCampoPersistente - indica si el campo declarado existe en la bd y sera almacenado, de otra forma solo se usa para mantener el dato en memoria.
c) esCampoVisible - util si necesitamos visualizar los datos en pantalla, datagrid, lista etc.
d) tipoDeDato - indica que tipo de dato se almacena en el campo
e) esClavePrincipal - indica que el campo representa el valor unico principal de la tabla.
f) esAutonumerico - indica si la gestion de las claves se hace de manera automatica o la hacemos nosotros, esto depende de como contruimos la base de datos. por cualquier duda pongan false y ustedes gestionen las claves, mas adelante veremos como.
PASO 5.
damos dos clicks sobre el boton creado y añadimos el codigo que a continuacion se ilustra.

Bueno pues el codigo lo unico que hace es usar el registro usuario y realizar una consulta tomando como referencia el nombre del campo y el valor que vamos a buscar.
En la instruccion
if(usuario.Consultar("nombre", tUsuario.text) estamos haciendo lo siguiente
Con el
registro usuario realizamos una consulta y como todas las funciones retornan un booleano verificamos que la consulta arroje resultados si no mandamos en mensaje de "El usuario no existe", si el usuario existe, se lee el valor que ha sido almacenado en al campo
clave_acceso y lo comparamos con la cadena que nos dieron, verificando su validez.
El codigo es sencillo y si lo quieren examinar les dejo el
PROYECTO COMPLETO en VB y C#, solo agregen el contenido del abdsqlite.zip a Debug.
Si tienen dudas por favor expongalas.
Para aquellos que siguen el curso uno breves anuncios.
- Eliminare las imagenes y las sustituire con un documento pdf.
- Iniciaremos el proyecto descrito en el segundo post, pero necesito saber si aun estan interesados.
por cierto pongo a continuacion la version equivalente sin usar el componente.
-----------------------------------------------------------------------------------------------
String cadena;
OleDbConnection Medio;
OleDbDataAdapter Comando;
DataSet ds = new DataSet();
Medio = new OleDbConnection(cadenadeconexion);
cadena = "select * from Usuarios where nombre=" + "\"" + tUsuario.Text + "\"";
Comando = new OleDbDataAdapter(cadena, Medio);
Comando.Fill(ds, "Usuarios");
DataTable dt = ds.Tables["Usuarios"];
try
{
DataRow datos = dt.Rows[0];
if(tPass.Text == datos[2].ToString())
{
aceptado =true;
Close();
}
else
{
MessageBox.Show("La contraseña es incorrecta");
}
}
catch(Exception)
{
MessageBox.Show("El Usuario no existe");
}
no hay mucha diferencia, verdad?, sus ventajas se ven cuando se trabajan con tablas numerosas.
hasta la proxima.
IIIC
