Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-02-2009
Luis Cuenca Luis Cuenca is offline
Registrado
 
Registrado: ago 2006
Posts: 9
Poder: 0
Luis Cuenca Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 03-02-2009
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 03-02-2009
Luis Cuenca Luis Cuenca is offline
Registrado
 
Registrado: ago 2006
Posts: 9
Poder: 0
Luis Cuenca Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 03-02-2009
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 03-02-2009
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 03-02-2009
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola,

Para declarar un campo autonumerico debes de decirle al campo que los es de la siguiente manera:

Código SQL [-]
CREATE TABLE
(
  ID    AS int IDENTITY(1,1)
  NOMBRE AS varchar(15)
  APELLIDOS AS varchar(20)
)
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.
Responder Con Cita
  #7  
Antiguo 03-02-2009
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Perdón se me ha olvidado el nombre de la table.
Código SQL [-]
CREATE TABLE Clientes
(
  ID    AS int IDENTITY(1,1)
  NOMBRE AS varchar(15)
  APELLIDOS AS varchar(20)
)
Un saludo.
Responder Con Cita
  #8  
Antiguo 04-02-2009
Luis Cuenca Luis Cuenca is offline
Registrado
 
Registrado: ago 2006
Posts: 9
Poder: 0
Luis Cuenca Va por buen camino
Gracias a todos por su ayuda, ya esta resuelto ese problema

Luis Cuenca
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

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


La franja horaria es GMT +2. Ahora son las 19:53:53.


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