Ir al contenido


Foto

ZAbstractRODataset.pas


  • Por favor identifícate para responder
26 respuestas en este tema

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 11:13

hola de nuevo

He hecho una aplicacion de prueba con:
datamodule (Zconnection, Ztable1, Ztable2,  Datasource1, Datasource2)
Form1(dbrid1, dbgrid2)

Los datos los recibo desde el puerto serial y cuando abro la aplicacion y van a ingresar los datos me sale "  ZAbstractRODataset.pas " como para que busque la ruta donde esta.

A que se debe esto?



  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 08 junio 2009 - 11:18

Hola, ¿Cuál es el error que te da?, porque sólo te está diciendo en qué unidad marca el error, cuando salga esa ventana debes darle a ignore y te saldrá el error en sí­.

Saludos.
  • 0

#3 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 11:52

Imagen Enviada

el campo entradadatos es el primary key de mi tabla central y lo daclare como integer, not null y autoincrementable.


  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 08 junio 2009 - 12:01

Hola

Agregaste los campos al componente ZTActivas?

Salud OS
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 08 junio 2009 - 12:03

Hola

Por otro lado, si es autoincrenmentable, porque le pasas un valor, no seria mejor que eso lo hiciera la base de datos?

Salud OS
  • 0

#6 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 12:07

Hola Egostar
gracias por responderme

Si los agrege, tanto en ztactivas como en ztcentral

  • 0

#7 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 12:09

lo que pasa es que ese campo es autoincrementable en ZTcentral en ZTactivas es un campo numerico que sirve como llave foranea
  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 08 junio 2009 - 12:12

Hola Egostar
gracias por responderme

Si los agrege, tanto en ztactivas como en ztcentral


Vaya, pues a menos que sea un problema con ZEOS, porque no deberias tener problemas de ese tipo.

lo que pasa es que ese campo es autoincrementable en ZTcentral en ZTactivas es un campo numerico que sirve como llave foranea


Ya entiendo, (y)

Salud OS

  • 0

#9 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 08 junio 2009 - 12:36

Lo mas seguro es que tengas que agregar la ruta de la libreria al delphi, esta en la carpeta donde tienes los  Zeos en la ruta \packages\delphi7\build
  • 0

#10 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 02:40

Hola Eduarcol

La libreria esta adicionada desde que instale zeos.  
No se si esto que me pasa tiene que ver con que al crear la base de datos con IBexpert le deje en blanco
la parte que dice "CLIENT LIBRARY FILE"  donde por default dice GDS32.DLL, porque si lo dejo no me deja crear la base de datos.

Dime si ahi fue que meti la pata!!!!!!!!

Imagen Enviada
Imagen Enviada
Imagen Enviada

gracias


  • 0

#11 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 08 junio 2009 - 03:06

nop, porque al estar en blanco utiliza la por defecto que es la de firebird (fbclient.dll).

Exactamente cuando te da ese mensaje, lanzate un paso a paso y dinos cual es la ultima instruccion que se ejecuta antes que salte ese mensaje
  • 0

#12 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 03:17

me lo da cuando va a ingresar un dato nuevo.
Lo que pasa es que al crear la base de datos con tantos problemas, ya me queda la duda de si he hecho algo malo.

esta es la imagen de las tablas que he creado
Imagen Enviada

Imagen Enviada



  • 0

#13 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 08 junio 2009 - 03:27

ok, ya me imagino lo que puede estar pasando.

Estos componente tienen una propiedad llamada requestlive si esta en falso se convierten en solo lectura, para poder modificar debes colocar esa propiedad en True.
  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 03:33

cual componente el ztable?
  • 0

#15 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 08 junio 2009 - 03:36

sip los ZTable, ahora una recomendacion independiente de todo, no utilizes los ZTable y utilizes ZQuery con los filtros en el select asi no manejas todos los registros al mismo tiempo.
  • 0

#16 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 03:40

no encuentro la propiedad, mira las propiedades de mi ztable


http://img141.images...ror5.jpg<br />
  • 0

#17 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 08 junio 2009 - 09:53


ealmente lo que hice fue registrar la base correctamente, apuntando a la libreria fbclient o algo asi que esta en program files\firebird\bin

Ahora el problema real es que el error se debe a que no me esta creando el campo autooincrementable.

http://img183.images...ebirderror6.jpg

se quedan vacios los campos entradadatos y alarmnum, lo que significa que el problema esta en la creacion del campo autoincrementable.

alguna idea?

gracias 

PD.  EDUARCOOOOOOOOOOOOOL ya casi lo logramos, ya nos vamos de sqlserver para firebird, asi que necesito unos empujones mas.  y gracias por tu tiempo
  • 0

#18 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 09 junio 2009 - 07:39

a ver como vamos, el campo autoincremental no existe en firebird, deberas crear un generador y en el trigger beforeinsert de la tabla en cuestion:



sql
  1. NEW.Micampo = Gen_Id(MiGenerador, 1);



si no tienes eso entonces logicamente no va a aparecer.

Otra cosa, recuerda que lo insista, pero trata en lo posible de no utilizar los ZTABLE, utiliza los ZQuery con instrucciones select filtradas.



sql
  1. SELECT * FROM mitabla WHERE elcodigo = :codigo



PD: Aqui no pidas empujones, que luego luego vienen estos mexicanitos y arman su fiesta a tus costillas jejejje
  • 0

#19 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 09 junio 2009 - 08:12

Como lo ha dicho Eduardo,
No existe el campo autoincremental. Debe lograrse mediante generadores o secuencias (que es el término que se recomienda seguir a partir de Firebird 2.x).

Si quieres, puedes hacer que IBExpert te haga solito toda la tarea de los generadores y triggers para el campo "autoincremental":

1. Cuando estés definiendo el campo que será "incremental", arrastra la barra horizontal hacia la derecha a fin de ver los demás atributos... entre ellos hay uno que dice: "AutoInc".
2. Haz doble clic en él. Te deberá aparecer un cuadro de diálogo. Si no tienes un generador hecho, selecciona la opción "Create Generator", en otro caso selecciona la opción "Use existing generator". Dependiendo de la opción elegida, te mostrará los datos a llenar.
3. Si deseas contar con un trigger BEFORE INSERT ve a la solapa Trigger y activa la opción "Create Trigger". De igual manera puedes hacer lo mismo para un Store Procedure en la solapa Procedure.
4. Acepta y continúa definiendo tus campos.
5. "Compila" la tabla para crearla y listo.

Espero que se entienda. Si no se me entiende por favor dilo.

Saludos,
  • 0

#20 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 09 junio 2009 - 11:43

Gracias por sus respuestas.

Ya habia hecho algo como lo que indican y me lleve de la explicacion de delphius para hacerlo de nuevo con IBexpert.

PROBLEMA: el valor del campo autoincrementable solo sale en tiempo de diseno o cuando cierro
y abro el programa.  En tiempo de ejecucion mientras va llenando el dbgrid:

1.- va creando los registros de los demas campos y se ve en blanco el del campo autoincrementable

2.- No sigue el orden de llegada y dependiendo de donde este posicionado en el dbgrid los va insertando. Me supongo que es porque carecen de numero.

les dejo la imagen para que me digan que puede ser y gracias de nuevo por su tiempo y su paciencia.

Imagen Enviada


  • 0




IP.Board spam blocked by CleanTalk.