FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola
Ahora nos toca pensar en como nos conectaremos con nuestra BD desde delphi. Hay varios componentes que lo hacen, los que yo conozco, Zeos e Intebase (IB). Bien: Zeos es muy bueno, muy rapido, sencillo de instalar, gratis etc. IB esta incluido en Delphi, es rapido, sencillo de usar, etc. Cual usamos entonces?. Segun mi poca experiencia: Zeos aunque muy bueno, aveces grita y no nos dice por que, nos muestra errores y no nos dice ni donde ni como, ni cuando, osea, para nosotros los novatos es un dolor de cabeza. IB tambien aveces grita, pero por lo menos de vez en cuando nos dice donde esta el error, segun mi punto de vista es mas comodo, por decirlo de alguna manera. Por ende, nos conectaremos por medio de IB. Saludos. Continua.....
__________________
Siempre Novato |
#2
|
||||
|
||||
Hola
Empecemos con Delphi. Una vez arrancado nuestro delphi, tenemos el form1 de siempre. Creemos un Datamodule que para mi es una buena opcion. Entonces: File, new, DataModule nos creara el Datamodule1. Vamos a la paleta Interbase y le arrastraremos a nuestro dataModule: Un IBDatabase Un IBTransaction Demosle Doble Click al IBDatabase: Os saldra una pantalla en la que pondremos esencialmente los mismos datos que pusimos con el IBExpert: Dejad sin marcar la opcion Login Prompt, asi no os pedira el password. Si queris asegurar la conexion, dadle a Test, os dara un mensaje, si esta bien: --------------------------- Successful Connection --------------------------- OK --------------------------- Ya estamos conectados, dadle OK. Ahora necesitamos las transacciones, en esto Firebird es muy concreto si no las haces se enoja y mucho Demosle Doble Click al IBTransaction. Nos saldra una pantalla con varias opciones, pinchemos en Read_Commited: Bueno, ya estamos conectados y tenemos nuestras transacciones, mas o menos aseguradas. No os olvideis de ir guardando todo... Saludos Continua....
__________________
Siempre Novato |
#3
|
||||
|
||||
Hola
Como ya tenemos casi todo listo y tenemos una tabla USUARIOS creada lo logico es hacer un Form para loguearnos, entonces crearemos un form mas. Como siempre: File New, Form. Esto nos creara el form2 que es el que iniciara el programa: Arrastremos al nuevo form: 2 Edit. 2 Label 2 Botones 1 IBQuery (de la paleta Interbase) Cambiemos el Name del form por FLogin, quedaria asi: Bien, ahora nos queda poner el codigo que necesitamos: Empecemos por el IBQuery: En la propiedad Database pondremos la direccion de la IBDatabase: DataModule2.IBDatabase1 En la propiedad SQL (strings) presionaremos el boton y nos saldra una pantalla: En este caso solo tendremos la Tabla Usuarios, escribiremos esto:
Quedara asi: Presionamos OK. Ahora en la propiedad Params del IBQuery, presionamos el boton y nos saldra una pequeña pantalla, ahi cambiaremos algunos datos, quedara asi: Segimos con los botones. Saludos Continua....
__________________
Siempre Novato Última edición por Caral fecha: 01-07-2010 a las 22:14:23. |
#4
|
||||
|
||||
Hola
Segimos con el form FLogin: Coloquemos una variable (cuenta), esta nos servira para determinar la cantidad de veces que se intenta introducir la clave:
En el evento OnCreate la iniciamos en cero:
En el boton OK:
En el boton Cancelar:
Ahora solo nos queda que el programa arranque desde el form login: Vamos al Proyecto, en units, project y cambiamos el orden de entrada al programa asi:
Listo, a correr. AHHHHHHHH, que monton de errores, logico, somos novatos y se nos olvido asignar algunas cositas. Son faciles de apreciar pero son errores que nos pueden pasar por descuido: Primero regresemos un poco atras, al datamodule: 1- En el IBDatabase nos olvidamos de colocar en su propiedad DefaultTransaction el IBTransaction. Con esto ya se ligan. 2- Lo mismo con el IBTransaction, en su propiedad DefaultDatabase lo ligamos pero esta vez con el IBDatabase. Osea, uno con otro. Regresemos al FLogin. Demosle doble click al IBQuery, nos saldra una pequeña pantalla, raton derecho y add, nos colocara los campos dentra de esta pantalla. Listo, no era para tanto, corredlo, esta listo para usarse. Ojala os sirva de algo este. Saludos Para dudas y aclaraciones estan los maestros
__________________
Siempre Novato |
#5
|
||||
|
||||
Hola
Mi amigo y maestro Casimiro me envia una informacion que me parece muy importante aportar: Cita:
Cita:
Saludos
__________________
Siempre Novato |
#6
|
||||
|
||||
Alucinante documental de Firebid, es un placer pertenecer al clubdelphi.
Un saludo. |
#7
|
||||
|
||||
Hola Caral,
es importante que cuando se crea una BBDD , se indique el CHARSET, para que luego el tema de acentos, la eñe , etc no nos den problemas a la hora de hacer búsquedas, ... siempre y cuando trabajemos en castellano. Yo suelo poner el ISO8859_1 y en general no he tenido problemas. Buena aportación, novato. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#8
|
|||
|
|||
Consulta
En el boton OK:
Tengo un problema en la linea que esta indicada If IBQuery1Clave.AsString = Edit2.Text then {Me arroja error en esta linea} [DCC Error] ULogin.pas(51): E2003 Undeclared identifier: 'IBQuery1clave' no se que hacer, agradezco la ayuda y perdonen la novatada. |
#9
|
||||
|
||||
Hola
No dices el error que te envia, pero podria ser que no esta en la caja de texto el campo clave, como solucionarlo, facil. Dale doble click a IBQuery1. Te saldra una pequeña pantalla. Dale click derecho y ADD. Esto colocara los campos en esa pantalla. De momento solo coloca los que te den error, en este caso Clave. Corre el programa otra vez. Saludos PD: Hay otra forma de solucionarlo pero empecemos por ahi.
__________________
Siempre Novato |
#10
|
||||
|
||||
Hola
Cita:
¿ Que es IBQuery1clave ?. Con toda seguridad un campo persistente. Así que como bien dice Caral, deberías crearlos. Aunque personalmente prefiero sustituir esa línea por :If IBQuery1.FieldByName('Clave').AsString = Edit2.Text thenY es que prefiero acceder a los campos de esta forma, en lugar de hacerlo por el correspondiente campo persistente. Te ahorras bastantes problemas de este tipo. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#11
|
||||
|
||||
Cita:
__________________
http://www.gestionportable.com |
#12
|
|||
|
|||
Cita:
|
#13
|
||||
|
||||
Crear bases de datos y sus tablas por comandos C:\>
Me gustaría añadir que también se pueden crear bases de datos Firebird y sus tablas mediante comandos del command.exe (El antiguo DOS). Para ello basta salir a esta pantalla de fondo negro y escribir en el prompt del sistema estos comandos, uno a uno.
Basta pasar del command_DOS al command_ISQL de Firebird. Antes de todo crea una carpeta y una subcarpeta para guardar los datos, desde el prompt de comandos, si quieres probar. Sal de los directorios que aparecen y regresa a la raíz = Posición C:\ Para ello ejecuta: c:\>CD\ [Intro] = change directory . Para la barra inversa (detrás de CD): Pulsar AltGr, y sin soltarla, la tecla [\ºª] que está a la izquierda del uno en cifra de la fila superior del teclado. Luego escribe en el prompt del dos: C:\>MD C:\CARPETA1\SUB2 [Intro] = Crear carpeta y subc. para la basededato * .FDB c:\> CD Program Files\firebird\firebird_2_5\BIN [Intro] =Pasamos al directorio donde están los ejecutables de Firebird. Tendrás una fila de directorios más larga. Ahora arranca el ejecutable de sentencias SQL de Firebird. C:\Program Files\Firebird\Firebird_2_5\BIN> ISQL [Intro] = Aquí arrancamos el procesador de órdenes SQL de Firebird. Aparece el aviso de connect o create y el prompt del SQL de Fb. A partir de ahora no olvides acabar cada sentencia con el carácter de cierre ( -punto y coma- y luego pulsas la tecla intro como es habitual: Creamos la base de datos escribiendo: SQL\> CREATE DATABASE 'LOCALHOST:C:\CARPETA1\SUB1\MIBASE.FDB' USER 'SYSDBA' PASSWORD 'masterkey'; [Intro] Si la orden es correcta aparece el prompt SQL> Para salir del SQL escribe EXIT; o apaga a ventana de comandos. Comprueba que la base de datos se creó realmente con: SHOW DATABASE; Para crear una tabla sencilla con los campos NUM, ITEM, FECHA; escribe en el SQL> CREATE TABLE MiTabla (Num Integer, Item Varchar(20), Fecha Date); Comprueba: SHOW TABLE MiTabla; Mete algo: INSERT INTO MiTabla (Num, Item, Fecha) Values (1, 'Abeto negro', CURRENT_DATE); y por último mira lo que hay en la tabla: SELECT * FROM MiTabla; Para salir ejecuta: (Si las sentencias son muy largas pulsa Intro y aparecen el prompt CON> de continuación) Exit; (No olvides el punto y coma antes de pulsar Intro) |
#14
|
||||
|
||||
Gracias bulc.
Quizá se pueda adaptar lo que explicas y crear archivos de comandos (cmd, bat) junto a pipes o flujos para automatizarlo. |
#15
|
||||
|
||||
Si, así es. Un fichero texto plano script lo haría todo
Lo que pretendía era dejar esa opción abierta a los usuarios antes de pasar a DBExpress o FlameRobin.
Siempre me digo que lo que yo sé tiene poco valor comparado con lo que saben, y aportan, otros foreros. Saludos, JParada |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Programa (Mini Tutorial) novatos | Caral | Varios | 82 | 19-10-2016 19:20:12 |
Empezar con Delphi5 y Firebird | marcial | Firebird e Interbase | 1 | 04-10-2008 11:16:29 |
Hagamos todos un sistema [tutorial no novatos] desde cero !!!!!!!!!!! | david_uh | Varios | 42 | 29-07-2008 00:57:43 |
Como Crear una Base de Datos Access (Tutorial Novatos) | Caral | Tablas planas | 3 | 06-12-2007 20:51:50 |
Consejos para empezar con firebird | seoane | Firebird e Interbase | 21 | 22-03-2007 05:14:33 |
|