Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2004
Ignacio Ignacio is offline
Miembro
 
Registrado: may 2003
Posts: 77
Poder: 22
Ignacio Va por buen camino
Re-pregunta

Hola

Marc Guillot
Para usar IBx de Delphi 5 debo hacerte unas preguntas. Puede ser?
* Como conecto el control IBdatabase a la base de datos? No se usan alias?
* El control IBqry va conectado a IBdatabase. Por qué debo tambien conectarlo a IBtransaction? Como uso IBtransaction?
* Los parámetros UserName, Password y Lc_type donde los declaro? Cómo hago para que los tome? Cómo evito que me pida la clave?
* Qué papel juega en todo esto la propiedad LogiPrompt y el evento OnLogin?

seguramente me faltan un montón de preguntas, pero creo que con estas tengo para empesar.

Muchísimas gracias.
Responder Con Cita
  #2  
Antiguo 18-09-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

1) No, no se usan Alias. Se especifica la Base de Datos a la que nos queremos conectar en las propiedades del IBDatabase. En concreto en la propiedad DatabaseName.
2) En efecto debes conectarlo a un IBTransaction, puesto que cualquier consulta/operación en Interbase debe estar asociada a una transacción. En principio, la transacción solo debes iniciarla (StartTransaction) y finalizarla con un Commit o RollBack cuando hagas cambios en la Base de Datos y los quieras confirmar. Varias consultas (IBQuerys) pueden estar asociadas a la misma transacción.
3) En el Params del IBDatabase (aunque si haces un doble-click sobre el IBDatabase, te saldrá un editor para rellenarlas).
4) Poner el LoginPrompt a False, evita que te pida la clave. Respecto al evento OnLogin, sirve por si quieres realizar alguna acción adicional al registrarte en la Base de Datos.

Te recomiendo que te hagas con un buen libro de programación en Delphi, que toque la programación de Bases de Datos. Mis favoritos són (en este orden) :

a) La cara Oculta de Delphi 6 (de Ian Marteens)
b) Delphi 7 y Kylix (de Francisco Charte)
c) La Biblia de Delphi 7 (de Marco Cantú)

Igualmente, creo que te interesaran los artículos de esta web :

http://firebird.com.mx

Finalmente, si estás utilizando Interbase 6 OE porqué es gratuito, te recomiendo que te pases a Firebird, puesto que las nuevas versiones de Interbase són comerciales, a diferencia de Firebird que es un proyecto open source generado a partir de IB 6 OE.

En caso de cambiar a Firebird, te recomiendo utilizar componentes FibPlus o IBObjects en lugar de IBX, debido a que Borland no va a preocuparse en mantener IBX compatible con las futuras versiones de Firebird.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 21-09-2004
Ignacio Ignacio is offline
Miembro
 
Registrado: may 2003
Posts: 77
Poder: 22
Ignacio Va por buen camino
Consulté www.firebird.com.mx
Entiendo que IBX, InterBaseExpres y la solapa InterBase de Delphi 5 es lo mismo.
En esa nota sugiere que no se usen IBtable ni IBQuery, proponiendo a cambio IBDataSet. Los controles serían: IBDatabase, el cual tendrá en la propiedad DatabaseName el camino a la base de datos InterBase, en la propiedad DefaultTransaction el nombre del componente IBTransaction y éste, en su propiedad DefaultDatabase el nombre del control IBDatabase.
El control IBDataSet, en su propiedad Database lleva el nombre del control IBDatabase; en las propiedades ...SQL se escribe el codigo nesezario segun el caso. A este último control está conectado un DataSourse y a éste, los controles de edisión.
Todo funciona a la perfección.
Pero cuando hago los siguientes cambios deja de fincionar

Cambios:
A la propiedad LogiPrompt del control IBDatabase la pongo en false para evitar el paso por "Nombre y Contraseña" y en la propiedad Params escribo lo siguiente:
user_name=SYSDBA
password=masterkey
lc_type=ISO8859_1

Error:
DPB Constant (0) is unknown

si a las tres lineas de la propiedad params le quito la última vuelve a funcionar a la perfección (ademas sin pedir "Nombre y contraseña"). Evidentemente el error tienerrelasión con el parámetro lc_type=ISO8859_1

Se te ocurre qué puede ser? Perdon por ser tan molesto.

El libro que leí para programar en delphi 5 fue GUíA DE DESARROLLO DELPHI 5 Teixeira / Pacheco pero no me ayuda en este problema puntual
Responder Con Cita
  #4  
Antiguo 21-09-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

En lugar de poner manualmente los parámetros, prueba haciendo un doble-click sobre el componente IBDatabase para especificar estos parámetros en la pantalla de configuración que se abrirá.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 21-09-2004
Ignacio Ignacio is offline
Miembro
 
Registrado: may 2003
Posts: 77
Poder: 22
Ignacio Va por buen camino
Ahora sí funcionó. Muchísimas gracias Marc Guillot y todos los que participaron en este hilo.

Más adelante los seguiré molestando.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:35:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi