FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
problemas en delphi con campo autoincremental
Uso delphi 7 e interbase6.5. En una tabla tengo un campo autoincremental, y al provarlo desde el IBExpert, funciona bien, pero en delphi al introducir datos mediante:
IBDatabase1.Insert; IBDatabase.fieldbyName('Codigo').Value:=valor; ... IBData1.post; Si no le pongo tambien el campo clave me genera un erro la base, de que me falta el campo clave. Y digo yo que si lo resuelve la base, no deberia preocuparme del dichoso campo teniendo que darle yo el indice. Gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5 |
#2
|
||||
|
||||
creo que le tienes que pasar al campo el valor NULL.
Saludos, Tony |
#3
|
|||
|
|||
Yo lo resolvi pasandole cualqueir valor. El tema es el siguiente:
En la base se te va a guardar bien el dato, pero en la tabla se te va a hacer una ensalada si le pones un codigo que ya existe. Moraleja, pasale un numero lo sufisientemente alto y que sepas que no esta en la tabala. Yo lo arregle asi [codigo Delphi] procedure TFormComprobantes.IBTable1AfterInsert(DataSet: TDataSet); begin Dataset.FieldValues['CODIGO_COMPROBANTE']:=9999; end; [/codigo Delphi] Espero que te sirva. |
#4
|
|||
|
|||
Hola forofos:
Por lo que he leido lineas arriba, la cuestion es la siguiente: - Tienes un campo autoincremental, que de seguro debe haber sido creado de la siguiente manera: CREATE TABLE MITABLA(NOMBRE_CAMPOAUTOINC not null, ...) - Si es asi como se ha creado en el DataSet deberias poner esto en el procedure InserSQL: INSERT INTO MITABLA(DEMAS CAMPOS SIN TOMAR EN CUENTA EL CAMPO AUTOINCREMENTAL) A mi me funciona, espero que a ti tambien. Saludos. |
#5
|
||||
|
||||
Cita:
Código:
IBTable1.FieldByName('CLAVE').Value := NULL; Cita:
Cita:
Código:
IBDatabase1.Insert; IBDatabase.fieldbyName('Codigo').Value:=valor; ... IBData1.post; PD: El procedimiento Código:
IBTable1.InsertRecord(...); Gracias
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5 |
|
|
|