![]() |
ClientDataSet con generadores
Hola amigos del club estoy implementa en mi sistema los clientdataset pero me esta surgiendo el siguiente problema con las llaves primarias ya que antes con los querys podia consultar en el evento NewRecord el numero maximo de mi clave primaria y adicionarle 1, asi estaba manejando las llaves primarias, se q tambien se puede hacer esto con trigger de hecho en algunos casos tambien los utilizo para este fin, mi problema es q como soy nuevo en el uso de los clientdataset no se en que forma estos campos se deben manejar, en este momento me aparece un erro de "Field Value" requerido cuando trato de crear un registro, estoy utilizando Delphi 7 y firebird 2.0
Gracias de antemano ![]() |
Vamos al caso de que tenemos firebird o interbase, y tenemos la siguiente tabla:
id: int (autogenerado requerido) nombre: varchar(35) cuando vamos a delphi e insertamos por ejempo con dbx los siguiente componentes: 1.- SQLConnection 2.- SQLQuery 3.- Provider 4.- ClientDataset Entonces cuando llamamos al evento post y no ingresamos el valor para el campo id ya que es autogenerado, nos da el error de field value required, bueno, la solucion a esto es le haces doble click al ClientDataSet y te sale la ventana para agregar campos persistentes, entonces seleccionas el campo id y le quitas la propiedad required, entonces delphi no realiza la validacion a nivel aplicacion, sino que se lo deja al motor de base de datos y este es el que se encarga de agregarle el valor al campo. Espero haber solucionado tu inconvenientes. Saludos |
Muchas gracias
|
La franja horaria es GMT +2. Ahora son las 05:19:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi