Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 14
giulichajari Va por buen camino
bueno

entiendo tu forma de hacerlo. Y esta buena, lo que si es que obtengo el error

Aux:Parameter idp not found, y SI esta declarado en el value de la propiedad PARAMS del componente, es como que no lo esta cargando.

Saludos..
Responder Con Cita
  #2  
Antiguo 27-06-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
[quote=giulichajari;478382]lo que si es que obtengo el error Aux:Parameter idp not found, y SI esta declarado en el value de la propiedad PARAMS del componente, es como que no lo esta cargando.
QUOTE]

Creo que esto se debe a que la sintaxis es incorrecta

Código SQL [-]
/* Tu sintaxis */
select max(idpersona) from persona as idp
/* Esta creo que es la forma correcta */
select max(idpersona) as idp from persona
Responder Con Cita
  #3  
Antiguo 28-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 14
giulichajari Va por buen camino
[quote=duilioisola;478385]
Cita:
Empezado por giulichajari Ver Mensaje
lo que si es que obtengo el error Aux:Parameter idp not found, y SI esta declarado en el value de la propiedad PARAMS del componente, es como que no lo esta cargando.
QUOTE]

Creo que esto se debe a que la sintaxis es incorrecta

Código SQL [-]/* Tu sintaxis */ select max(idpersona) from persona as idp /* Esta creo que es la forma correcta */ select max(idpersona) as idp from persona
Y si quiero insertar luego el telefono de la persona? He insertado una persona, un cliente con el id de persona, pero al insertar un telefono el id sera el de cliente...

Saludos
Responder Con Cita
  #4  
Antiguo 28-06-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
La cara oculta de delphi
Responder Con Cita
  #5  
Antiguo 28-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 14
giulichajari Va por buen camino
Logre hacerlo

Logre hacerlo con componentes SQLQuery. Si quieren dejen su opinion.

Código Delphi [-]
procedure Tferreteria.insercliente(cliente:Tcliente;persona:Tpersona;telefono:Ttelefono);



begin
  dm := Tconsultas.Create(nil);
   // dm.SQLQuery1.Close;
    with dm.qpersona do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into persona (nombreyape, domicilio) values (:nombreyape, :domicilio);');

      ParamByName('nombreyape').AsString := persona.nombreyape;
      ParamByName('domicilio').AsString := persona.domicilio;


      ExecSQL();
    end;

      with dm.qcliente do
    begin
    Close;
    SQL.Clear;
    SQL.Add('insert into clientes (idpersona, cuit, cuil) values (last_insert_id(), :cuit, :cuil);');

    ParamByName('cuit').AsInteger := cliente.cuit;
    ParamByName('cuil').AsInteger := cliente.cuil;
      ExecSQL();
    end;
    with dm.qtelefono do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into telefono (idtipotel, numero)values (:idtipotel,:numero);');
      ParamByName('idtipotel').AsInteger := telefono.tipo;
      ParamByName('numero').AsInteger := telefono.numero;
      ExecSQL();
    end;
    with dm.aux do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select last_insert_id() from persona;');

    end;
    with dm.aux2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select last_insert_id() from telefono;');
    end;
    with dm.qpt do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into personatel (idpersona,idtelefono) values (:idp,:idt);');
      ParamByName('idp').AsInteger:=dm.aux.ExecSQL();
      ParamByName('idt').AsInteger:=dm.aux2.ExecSQL();
      ExecSQL();
    end;

//    dm.SQLQuery1.ExecSQL();
  end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
mostrar campo con clave foranea georgeliners Conexión con bases de datos 3 11-06-2014 22:57:43
identificar un error de clave foranea... pnsd_89 SQL 5 25-03-2011 13:01:03
Campo puede ser clave foranea de dos tabla richy08 Conexión con bases de datos 4 26-01-2010 18:38:54
problema al crear clave foranea anubis Firebird e Interbase 4 28-06-2008 16:24:49
Saber a quien se refiere una clave foránea Cecil Conexión con bases de datos 2 27-09-2007 19:17:50


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


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi