Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2008
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 20
gulder Va por buen camino
Thumbs up Insertar registro sin repetir campo

Hola foro como andan espero que bien, tengo una pequeña duda pero aqui les dejo un pequeño codigo que estoy trabajando. lo que quiero hacer es insertar un registro pero primero buscarlo y si esta decir que el registro se encuentra ya guardado en la BD.
Tengo una tabla llamada link en la cual tengo los siguientes campos numero, fecha, titulo, link, tipo, estado bueno al momento de in sertar el registro esa parte la hace perfecta lo que yo quiero es verificar antes de insertar un registro que el campo link no se repita para eso hago lo siguiente:

Código:
            numer:=0;
              with ADOQuery2 do
                begin
                sql.Text:='select numero '+
                          'from link '+
                          'where link ='+char(39)+Trim(Edit1.Text)+char(39);
                open;
                numer:=strtoint(fields.Fields[0].AsString);  // Variable INT
                 
                //despues verifico lo que trae numer 
                if numer > 0 then begin
                  // mensaje registro ya esta 
                end else begin
                 // inserto el registro en la base de datos
                end;
            
                end;
pero el problema de este codigo es cuando el registro no esta en la base de datos me sale un error que dice que entero no valido yo me imagino es como la consulta no debuelve ningun dato, cuando le trato de asignar un entero a la variable numer hay esta el problema pero no se como solucionarlo, tambien lo he intentado con locate y nada gracias de antemano gulder
Responder Con Cita
  #2  
Antiguo 31-01-2008
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 20
gulder Va por buen camino
NOTA: El edit1.text esta el valor del campo que deseo comparar

que pena yo intentaba era editar

Última edición por gulder fecha: 31-01-2008 a las 23:23:19.
Responder Con Cita
  #3  
Antiguo 01-02-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Hola Gulder.

Primero, algo que vi en tu codigo es esto

numer:= strtoint(fields.Fields[0].AsString); // Variable INT

podes reemplazarlo por esto

numer:= fields.Fields[0].AsInteger;

y te ahorras una conversion.

Y con respecto con tu problema, no es mas conveniente que en tu tabla link el campo numero sea primary key, entonces si insertas un campo repetido te va a generar un error y ahi lo manejas con un try

Código Delphi [-]
Procedure ....
begin
    Try
        {Código de insert}
    Except
        {Mensaje de error}
    end;
end;

No es lo que estas pidiendo pero es una solución, ah si al momento de compilar te tira error el try no te hagas problema porque en el ejecutable anda ese es un problema que todavia no se como arreglaro .

Espero que te ayude y Saludos
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #4  
Antiguo 01-02-2008
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 20
gulder Va por buen camino
Thumbs up

totote gracias por respondes y denuebo gracias por lo de la conversion no me la sabia por otro lado lo de la validacion del campo antes de insertarlo lo solucione con un locate gracias de todos modos jeje
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
Insertar registro con campo autoincremental joumont MySQL 2 02-04-2007 12:11:03
insertar registro en campo blob con asp oarias Firebird e Interbase 0 09-02-2007 18:42:50
Saltar al siguiente registro en Grid al insertar el máximo de caracteres de un campo nemesio Varios 3 15-06-2006 10:32:04
Repetir registro segun valor de un campo yusnerqui SQL 2 13-03-2005 02:14:40
repetir el mismo registro empty Impresión 3 13-04-2004 16:54:19


La franja horaria es GMT +2. Ahora son las 21:46:40.


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