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 23-10-2007
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
ADO, problema con commit

tengo mi aplicacion con d7, sql server 2000, y me conecto con los ADO, pero por mas commits que le doy, el insert o update solo tiene efecto hasta la proxima vez que inicio la aplicacion. La verdad nunca habia utilizado los ADO asi que muy probablemente estoy poniendo mal el begintrans y commit trans.

aqui esta el codigo, ojala me puedan ayudar. Gracias

Código Delphi [-]
begin
ADOConnection1.BeginTrans;
valida();
if valida = true then
begin
ds_precios.DataSet.Locate('combo',combo,[]);
fcombo := ds_precios.DataSet.fieldByName('combo').AsInteger;
fdate := ds_precios.DataSet.fieldByName('fecha').AsDateTime;
if (fcombo = combo) and (fdate = fecha.Date) then
begin
        showmessage(IntToStr(combo));
        pre := ds_precios.DataSet.FieldByName('precio').AsFloat;
        opc := MessageDlg('Este producto está registrado en la misma fecha con el precio: '+FloatToStr(pre)+' ,Sobreescribir?',mtWarning, mbOKCancel, 0);
        if opc = mrCancel then BitBtn2.Click
        else
        with que_fecha do begin
           with Parameters do begin
          ParamByName('price').Value := StrToFloat(precio.Text);
          ParamByName('combo').Value := combo;
          Parameters.ParamByName('date').Value := fecha.Date;
          end;
          ExecSQL;
          ADOConnection1.CommitTrans;
          ADOQuery1.Close; ADOQuery1.Open;
          DBGrid1.Refresh;
          especie.Text := ''; espesor.Text := '';
          clase.Text := ''; precio.Clear;
          fecha.Clear;
          end; end
else
begin
 showmessage(IntToStr(combo));
        showmessage(fecha.Text);
que_captura.SQL.Clear;
que_captura.SQL.Add('select count(id) from pocapprc_sql');
que_captura.Open;
gen_id := que_captura.Fields[0].AsInteger;
gen_id := gen_id+1;
with que_captura do begin
sql.Clear;
sql.Add('insert into pocapprc_sql(id,precio,fecha,combo)');
sql.Add('values(:id,recio,:fecha,:combo)');
with Parameters do begin
ParamByName('id').Value := gen_id;
ParamByName('precio').Value := StrToFloat(precio.Text);
ParamByName('fecha').Value := fecha.Date;
ParamByName('combo').Value := combo;
end;
ExecSQL;
ADOConnection1.CommitTrans;
ADOQuery1.Close; ADOQuery1.Open;
DBGrid1.Refresh;
especie.Text := ''; espesor.Text := '';
clase.Text := ''; precio.Clear;
fecha.Clear;
end; end; end
    else
      MessageDlg('Favor de introducir todos los datos',mtWarning, [mbOK], 0);
end;
Responder Con Cita
  #2  
Antiguo 23-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Mas o menos por aqui anda la cosa.
Revisado, cualquier duda, la comentas.
Saludos
Responder Con Cita
  #3  
Antiguo 23-10-2007
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
no me sirve

se solucionó con un simple refresh en las tablas, que no se porque no me lo hacia hasta que reinicie delphi.

danke

Última edición por Gaim2205 fecha: 29-10-2007 a las 18:01:03.
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
Problema con IBMANAGER con commit vivamotos Firebird e Interbase 0 27-09-2006 08:29:11
Commit - CommitRetaining Luzma Firebird e Interbase 3 27-06-2006 01:58:58
Commit micayael PHP 4 21-09-2005 19:34:50
Commit Loviedo Firebird e Interbase 7 29-07-2005 14:36:10
Commit Work?? anam.soria Firebird e Interbase 3 31-01-2005 19:17:14


La franja horaria es GMT +2. Ahora son las 15:35:06.


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