Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Haz caso a Casimiro:

Código Delphi [-]
procedure TfrProveedores.BitBtn1Click(Sender: TObject);
begin
 if DmProv.IBDTsProv.State in [dsInsert, dsEdit] then
 DmProv.IBDTsProv.Post;

Código Delphi [-]
procedure TDmProv.IBDTsProvAfterPost(DataSet: TDataSet);
begin
DmConex.IBTransaction.CommitRetaining;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #2  
Antiguo 13-02-2010
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 296
Poder: 21
GustavoCruz Va por buen camino
hola amigos, yo en lazarus escribo asì:
Código Delphi [-]
with SQLQuery1 do
begin
  insertSQL.Clear;
  insertSQL.Add('insert into tabla(campos) values(valores)');
  ...
end;

y eso debería ser suficiente para insertar los registros...

pero no funciona
Responder Con Cita
  #3  
Antiguo 13-02-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿No has leído el código que te ha puesto marcoszorrilla? , no es suficiente con que hagas el 'insert', debes hacer 'post' y luego 'commit', te falta el 'post' que viene a ser el comando que realmente graba los datos, luego el 'commit' confirma que se graben, pero te falta el post.

En tu código debes escribir algo así como:
Código:
with SQLQuery1 do
begin
  insertSQL.Clear;
  insertSQL.Add('insert into tabla(campos) values(valores)');

  SQLQuery1.Post;   <<-------------<

end;
Responder Con Cita
  #4  
Antiguo 13-02-2010
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 296
Poder: 21
GustavoCruz Va por buen camino
Definitivamente no...

Código Delphi [-]
with SQLQuery1 do
        begin
          InsertSQL.Clear;
          InsertSQL.Add('insert into detable values('+Dbf1.Fields[0].AsString
          +','''+Dbf1.Fields[1].AsString+''')');
          ExecSQL;
          Post;
        end;

Gracias por vuestro tiempo


Gustavo Cruz
Responder Con Cita
  #5  
Antiguo 13-02-2010
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 296
Poder: 21
GustavoCruz Va por buen camino
Tal vez el problema se encuentre en SQLTransaction

el tiene una Params, ¿Qué de se debe colocar?.

yo ahí no tengo nada.


Gracias de Antemano por vuestro tiempo


GustavoCruz
Responder Con Cita
  #6  
Antiguo 13-02-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por GustavoCruz Ver Mensaje
Tal vez el problema se encuentre en SQLTransaction
el tiene una Params, ¿Qué de se debe colocar?.
yo ahí no tengo nada.
Gracias de Antemano por vuestro tiempo
GustavoCruz
Lo debes tener enlazado con la base de datos.
Responder Con Cita
  #7  
Antiguo 13-02-2010
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 296
Poder: 21
GustavoCruz Va por buen camino
Bueno amigos, ustedes disculpen mi torpeza...

tengo los siguientes componentes:
IBConnection1
SQLTransaction1
SQLQuery1

conecto la base de datos al IBConnection1, luego hago el enlace
IBConnection1 - SQLTransaction1; y los activo...
luego al SQLQuery1 le asigno el IBConnection1 y el SQLTransaction1

lanzo una consulta para probar que todo está bien y me funciona...

esto es lo que probé la primera vez:

Código Delphi [-]
  SQLTransaction1.StartTransaction;
  while not Dbf1.EOF do
    begin
      with SQLQuery1 do
        begin
          InsertSQL.Clear;
          InsertSQL.Add('insert into detable values('+Dbf1.Fields[0].AsString
          +','''+Dbf1.Fields[1].AsString+''')');
          ExecSQL;
        end;
      Dbf1.Next;
    end;
  SQLTransaction1.CommitRetaining;

eso me dio el siguiente error: 'EDatabaseError' Transaction already active

luego probé con esto:
Código Delphi [-]
  SQLTransaction1.EndTransaction;
  SQLTransaction1.StartTransaction;
  while not Dbf1.EOF do
    begin
      with SQLQuery1 do
        begin
          InsertSQL.Clear;
          InsertSQL.Add('insert into detable values('+Dbf1.Fields[0].AsString
          +','''+Dbf1.Fields[1].AsString+''')');
          ExecSQL;
        end;
      Dbf1.Next;
    end;
  SQLTransaction1.CommitRetaining;

ya aquí no hay errores pero sigue sin insertar...

luego probé hacer como ustedes me sugirieron y tampoco...
PD. Dbf1 es el lugar donde estoy sacando los datos que necesito migrar...

Muchas Gracias
Responder Con Cita
  #8  
Antiguo 13-02-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Amigo GustavoCruz, el problema es que no somos adivinos, debes contarnos lo más detallado posible la situación de lo que estás haciendo, porque así, con lo parco en palabras que estás siendo... es bastante difícil poder ayudarte, cuéntanos en detalle los componentes que usas, cómo están enlazados, qué procesos haces, pasos que das hasta llegar a esa función, mensajes de error o aviso que te salgan, resultados obtenidos, etc.
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
TStringGrid Insertar registros grotero76 OOP 8 12-03-2013 17:02:38
insertar registros hxochitemol Conexión con bases de datos 1 02-06-2007 01:21:56
Como insertar registros con sql? newbery Firebird e Interbase 1 10-01-2006 14:32:30
Error al insertar o borrar registros en firebird pepitu Firebird e Interbase 3 26-09-2005 14:56:57
Problemas al insertar registros con ADO sanluisme Conexión con bases de datos 0 04-03-2004 10:34:41


La franja horaria es GMT +2. Ahora son las 00:10:37.


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