FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con campo identity
Hola Amigos:
Tengo una base de datos sql 2000 con delphi 7 ambos conectados con un odbc. Apenas estoy conociendo SQL y mi problema es este: Al hacer insert en una de las tablas me sale el siguiente error del campo identity, despues del Post: Field "ID" must have a value. Si hago un edit en la tabla o un delete no me sale error. Este es el codigo que tengo en delphi: procedure TForm4.Button2Click(Sender: TObject); Var Registros:Integer; begin if Choferes1.State = dsInsert then Begin Choferes1.Post; Choferes1.Close; Choferes1.Open; Choferes1.FindLast; Registros:= Choferes1.RecordCount; Label18.Caption:= inttostr(Registros)+' Registros'; end; Ojala que me puedan ayudar, no se que estoy haciendo mal o que me falta hacer, pero necesito resolver esto, gracias de antemano |
#2
|
|||
|
|||
Tienes que asignarle un valor al campo ID, aunque realmente no se use porque tiene el identity, puedes generar los campos persistentes y quitarle lo de requerido para que no te lo pida, pero puedes usar el evento afterinsert y ahi darle un valor al campo ID, insisto no importa cual porque despues lo descarta
|
#3
|
|||
|
|||
Gracias Luis
Este campo en realidad lo necesito como un id, ¿ no hay algun tipo de campo en SQL que incremente y asigne su valor automaticamente cuando se inserta un nuevo registro ? Saludos |
#4
|
|||
|
|||
Puedes usar ese campo tal cual como identidad, nada mas en delphi le vas a asignar un valor aunque este no se use, por ejemplo cuando creas los registros tu le asignas el valor de 2 por ejemplo, pero en realidad cuando grabe te va a dejar el 1,2,3,.... etc
|
#5
|
|||
|
|||
Problema con campo identity
Hola:
en SQL Server 2000 puedes crear un campo autonumerico poniendo la propiedad Identity en Verdadero y las propiedades Identity Seed y Incrementy en 1. Otra cosa que te recomendaria es utilizar como conexion a la BD ADO que te permitira mas velocidad y seguridad, utilizando los AdoStoreProcedure. Saludos Luis Garcia |
#6
|
||||
|
||||
Hola,
Para declarar un campo autonumerico debes de decirle al campo que los es de la siguiente manera: El Campo ID es un campo autonumerico, y cuando insertas un registro en la base de datos éste campo aumentara su valor en uno automáticamente, sin necesidad de pasarle ningún dato. Si en dos ordenadores añades un registro a la misma vez, no te preocupes el servidor le asignara un número a cada uno. Un saludo. |
#8
|
|||
|
|||
Gracias a todos por su ayuda, ya esta resuelto ese problema
Luis Cuenca |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problemas con campo identity | ingmichel | SQL | 2 | 20-01-2009 23:43:08 |
Identity en SQL | paladincubano | SQL | 10 | 20-05-2008 20:38:04 |
es opcion alternativa usar identity | alexander66 | MS SQL Server | 3 | 07-08-2006 19:49:45 |
Valor inicial en @@Identity | lucasarts_18 | MS SQL Server | 2 | 04-07-2006 16:08:10 |
Insertar datos cuando una tabla tiene col con identity | La__X | SQL | 10 | 21-01-2006 00:27:23 |
|