Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2012
borlandpablo borlandpablo is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 37
Poder: 0
borlandpablo Va por buen camino
Question Insertar fecha a la base de datos

Buenas a todos, como hago para insertar la fecha actual en la base de datos? yo lo que hago es esto y me da error.

Código:
    XDatos->QCatalogos->Open();
    XDatos->QCatalogos->Append();
    while(!XDatos->QCatalogos->Eof)
    {
       XDatos->QCatalogos->SQL->Text = "insert into catalogos(Fecha_Actual) values (sysdate)";
       XDatos->QCatalogos->Next();
    }
    XDatos->QCatalogos->Post();
    XDatos->QCatalogos->Close();
Responder Con Cita
  #2  
Antiguo 23-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola borlandpablo.

No sé con que componentes estas trabajando, pero en líneas generarles sería:
Código:
  XDatos->QCatalogos->Close();
  XDatos->QCatalogos->SQL->Clear();
  XDatos->QCatalogos->SQL->Add("INSERT INTO CATALOGOS(FECHA_ACTUAL)");
  XDatos->QCatalogos->SQL->Add("VALUES(:PFECHA)");
  XDatos->QCatalogos->ParamByName("PFECHA")->Value = Date();
  XDatos->QCatalogos->ExecSQL();
Por ejemplo, si estas utilizando ADO, la línea donde asignas el valor al parámetro sería:
Código:
   XDatos->QCatalogos->Parameters->ParamByName("PFECHA")->Value = Date();
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 24-10-2012
borlandpablo borlandpablo is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 37
Poder: 0
borlandpablo Va por buen camino
Gracias por contestar ecfisa, pero me da error. Me dice: " no se puede insertar o cambiar el registro porque se necesita un registro relacionado en la tabla 'Distribuidor' ".

La relación de la base de datos es así:
Código:
DISTRIBUIDOR                        CATALOGOS                                    TIENDAS
distribuidor_id (autonumérico)   catalogo_id(autonumérico)                  tienda_id            
Nombre                           Titulo                                     Nombre
Telefono                         Foto                                       Logo
Logo                             fecha_inicial                              distribuidor_id
                                 fecha_fin
                                 fecha_actual
                                 distribuidor_id(numero)
                                 tienda_id(numero)
No sé porque tengo que relacionarlo, ya que solo quiero rellenar el campo "fecha_actual".

Un saludo.
Responder Con Cita
  #4  
Antiguo 25-10-2012
dmartinezn dmartinezn is offline
Miembro
 
Registrado: ene 2012
Ubicación: Cuba - Venezuela
Posts: 38
Poder: 0
dmartinezn Va por buen camino
Primeramente antes de realizar la insercion en la tabla CATALOGOS debes de conocer cual fue el distribuidor_id que se inserto en la tabla DISTRIBUIDOR.
Asi que te recomiendo:
1 - Haz una consulta a la tabla distribuidor para que obtengas el distribuidor_id que necesitas.
2 - Con el distribuidor_id que obtienes de la consulta realiza la insercion de tus datos, como dice el Sr. Eficsa.
Código:
XDatos->QCatalogos->SQL->Add("INSERT INTO CATALOGOS(FECHA_ACTUAL,distribuidor_id)");
  XDatos->QCatalogos->SQL->Add("VALUES(:PFECHA,:distribuidor_id)");
Acuerdate q tienes una relacion entre tablas y distribuidor_id pasa como llave, lo otro seria decirle a distribuidor_id q acepte nulos, cosa que no estaría bien.
Responder Con Cita
  #5  
Antiguo 26-10-2012
borlandpablo borlandpablo is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 37
Poder: 0
borlandpablo Va por buen camino
Buenas, yo me creé una variable global para poderlo utilizar en la pantalla donde tengo que hacer el insert

Código:
void __fastcall TXGestionTienda::ComboBox1Change(TObject *Sender)
{
   XDatos->QDistribuidor->Close();
   XDatos->QDistribuidor->SQL->Text = "select * from distribuidor where nombre = '"+ComboBox1->Text+"'";
   XDatos->QDistribuidor->Open();
   codigoD = XDatos->QDistribuidorDistribuidor_id->Value;
   ShowMessage(codigoD);
}
Con eso ya he obtenido el valor del distribuidor_id y cuando hago el insert me sigue diciendo que hay error.
Responder Con Cita
  #6  
Antiguo 26-10-2012
dmartinezn dmartinezn is offline
Miembro
 
Registrado: ene 2012
Ubicación: Cuba - Venezuela
Posts: 38
Poder: 0
dmartinezn Va por buen camino
Seria bueno que digeras que Gestor de BD estas usando, todos a la hora de insertar no aceptan los mismos parametros.
Ejemplo, ese que usa aca:
Código:
XDatos->QCatalogos->SQL->Add("INSERT INTO CATALOGOS(FECHA_ACTUAL)");
  XDatos->QCatalogos->SQL->Add("VALUES(:PFECHA)");
Funciona perfectamente en access, pero no asi en mysql.
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 datos en una base de datos desde delphi con sql angelvazv Conexión con bases de datos 16 08-05-2012 19:25:20
insertar en base de datos pmtzg Firebird e Interbase 3 23-09-2011 17:59:20
Insertar imagenes a una base de datos .db emula Tablas planas 4 14-02-2011 03:14:22
Insertar Datos a un campo de la base de datos desde un DBEdit saltamirano Varios 11 12-12-2007 17:29:35
Insertar archivo en base de datos!!!!! DB-ADO Conexión con bases de datos 2 01-04-2005 23:59:15


La franja horaria es GMT +2. Ahora son las 18:34:56.


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