Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-06-2003
Gregory Mazon Gregory Mazon is offline
Miembro
 
Registrado: jun 2003
Posts: 22
Poder: 0
Gregory Mazon Va por buen camino
Post Transacciones con Delphi

Hola
Soy novato en el manejo de Interbase y Delphi, estoy usando un TQuery para actualizar las tablas de una base de Interbase pero no se como se realizan las transacciones, el codigo que estoy utilizando es el siguiente :

Var
myQuery : TQuery;

Begin
myQuery := TQuery.Create(application);
myQuery.Sql.Clear;
myQuery.Add('Insert into Articulos(modelo,describe,linea...etc')
myQuery.Add('Values("0001","PRUEBAS","FALDA")');
myQuery.ExecSQL;

myQuery.Sql.Clear;
myQuery.Add('Insert into Precios(costo,publico,mayoreo...etc')
myQuery.Add('Values(200,400,600)');
myQuery.ExecSQL;
End;

Supongo que existe la correcta de hacerlo, si alguin me puede ayudar de antemano les agradesco a todos.
Responder Con Cita
  #2  
Antiguo 14-06-2003
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Holap, bueno la variable esta bien declarada, y la forma de limpiar el SQL tambien pero
al momento de agregar el SQL no debido a que no estas haciendo referencia a la propiedad
SQL del TQuery y ademas te faltan algunos "punto y comas"...osea que quedaria asi:

Código:
Var 
myQuery : TQuery;

Begin
myQuery := TQuery.Create(nil);
myQuery.Sql.Clear;
myQuery.SQL.Add('Insert into Articulos(modelo,describe,linea...etc');
myQuery.SQL.Add('Values("0001","PRUEBAS","FALDA")');
myQuery.ExecSQL;

myQuery.Sql.Clear;
myQuery.SQL.Add('Insert into Precios(costo,publico,mayoreo...etc');
myQuery.SQL.Add('Values(200,400,600)');
myQuery.ExecSQL;
myQuery.free;
End;

Por otra parte...para usar transacciones debes bajar un componente TDatabase y configurarlo,
ya sea en su propiedad AliasName o en DriverName segun sea tu necesidad...no olvides configurar tambien los parametros
de la base de datos y si no quieres que se pida la contraseña del interbase poner la propiedad LoginPromt en 'False'.

Entonces ya podes trabajar con Transacciones y tu codigo quedaria asi, suponiendo de que el TDatabase se llama "database1":
Código:
Var 
myQuery : TQuery;

Begin
     database1.StartTransaction;
     try
        myQuery := TQuery.Create(application);
        myQuery.Sql.Clear;
        myQuery.SQL.Add('Insert into Articulos(modelo,describe,linea...etc');
        myQuery.SQL.Add('Values("0001","PRUEBAS","FALDA")');
        myQuery.ExecSQL;

        myQuery.Sql.Clear;
        myQuery.SQL.Add('Insert into Precios(costo,publico,mayoreo...etc');
        myQuery.SQL.Add('Values(200,400,600)');
        myQuery.ExecSQL;
        myQuery.free;
    database1.Commit;
  except
    database1.Rollback;
    raise exception.create('No se pudo ejecutar la transaccion');
  end;
End;
Espero te sirva.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 17-06-2003
Gregory Mazon Gregory Mazon is offline
Miembro
 
Registrado: jun 2003
Posts: 22
Poder: 0
Gregory Mazon Va por buen camino
Muchas Gracias

Modifique mi codigo y funciona perfectamente
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


La franja horaria es GMT +2. Ahora son las 21:54:08.


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