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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-01-2006
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 21
marcoev Va por buen camino
Angry Problemas para insertar con ADO

Saludos compañeros, a continuacion expongo mi problema:

lo que pasa es que al momento de hacer una insercion, el datasource cambia a modo dsinsert, pero inmediatamente despues regresa a Browse , no he encontrado como detectar que es lo que me esta cambiando el estado. pero cuando lo que hago es una edicion el estado se mantenien en dsedit.

lo que me interesa conocer es si alguien tiene algun metodo de depuracion de estos errores, para ver que componente o codigo me esta cambiando los edos.

utilizo:
Delphi 7
Componentes ADO
Bd de Access
Componentes devexpress
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #2  
Antiguo 11-01-2006
Avatar de fabianbbg
fabianbbg fabianbbg is offline
Miembro
 
Registrado: ago 2003
Ubicación: Corrientes, Argentina
Posts: 80
Poder: 21
fabianbbg Va por buen camino
Hola:

Es raro lo que te pasa.. serias tan amable de pegar el codigo? porque cuando decis :

Cita:
Empezado por marcoev
lo que pasa es que al momento de hacer una insercion, el datasource cambia a modo dsinsert, pero inmediatamente despues regresa a Browse , no he encontrado como detectar que es lo que me esta cambiando el estado. pero cuando lo que hago es una edicion el estado se mantenien en dsedit.
supongo que te referias al estado del dataset..
En fin, como haces para comenzar la insercion? Llamando a Insert? o por medio de algun control?

Por las dudas haces algo con el dataset cuando estas insertando? como buscar algun dato o algo asi?

Bien.. en una de esas con el código se vislumbra la solucion..
Saludos.. Fabián
__________________
desde Corrientes, Argentina..
Cuna del Libertador de America
Responder Con Cita
  #3  
Antiguo 11-01-2006
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 21
marcoev Va por buen camino
primero que nada, gracias por responder el codigo es:

Código Delphi [-]
  Try
    with dmConfigs do
    begin
      If not cnnCoexIni.InTransaction  Then
        cnnCoexIni.BeginTrans;
      tContribuyentes.Append;
    end;
    pageControl.ActivePage:=Datos;
    pCtrl.ActivePage:=tDatos;
    dbClave.SetFocus;
    Controles(False);
  except
    On E: Exception do begin
      Controles(True);
      pageControl.ActivePage:=Consulta;
      tContribuyentes.Cancel;
      with dmConfigs do  begin
        If cnnCoexIni.InTransaction  Then
          cnnCoexIni.RollbackTrans;
      end;
      raise Exception.create('Cont.New: Error al intentar procesar la transaccion, Error: "'+IntToStr(E.HelpContext)+' : '+E.Message+'"')
    end;
  end;

este codigo lo tengo dentro de una Accion, a la cual llamo desde cualquier control, en este caso, la estaba llamando desde un boton de una barra de devexpress, lo mas raro de todo es que si la accion se la asigno a un boton normal, este trabaja de forma correcta. aclaro que el boton de la barra a la que se lo asigno es de uno de esos que viene de forma estandar con las barras de navegacion de bd, no se si esto sea un impedimento para que ejecute mi accion en lugar de la que de seguro viene predefinida; esto se me hace bastante raro tambien porque utilizo la misma barra y opciones en otras formas, y no en todas pasa lo mismo
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #4  
Antiguo 11-01-2006
Migpal Migpal is offline
Miembro
 
Registrado: jul 2005
Ubicación: Colombia
Posts: 91
Poder: 19
Migpal Va por buen camino
Tratando de adivinar un poco, supongo que lo que haces poner la tabla en modo de insercion y los datos los estas capturando directamente en un DBgrid; si es asi, tu tabla cambia de estado cada vez que oprimas las flechas de movimiento sobre la grilla.
Responder Con Cita
  #5  
Antiguo 11-01-2006
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 21
marcoev Va por buen camino
gracias por tu respuesta, pero no es asi, lo que tengo es una forma con un grid para la consulta el cual esta dentro de un Pagecontrol con 2 o mas paginas, al dar clic en insertar muestro la siguiente pagina y ahi capturo toda la informacion del registro.

mi problema principal no es que yo quiera controlar el estado de la edicion del dataset, mas que nada es que cuando doy insertar, el estado cambia de insert a browse de forma inmediata en lugar de ponerme un registro en blanco me pone los datos del ultimo registro(por el Append) y en lugar de ingresar un nuevo registro estaria modificando uno existente , lo que hice para dar una solucion la cual no me gusta, es que cree una variable en la cual indico cuando es o no una insercion, y cuando el control donde lleva la clave recibe el foco, ahi verifico esta variable, si es insercion doy un append, y ahi si funciona... raro no
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #6  
Antiguo 11-01-2006
Avatar de fabianbbg
fabianbbg fabianbbg is offline
Miembro
 
Registrado: ago 2003
Ubicación: Corrientes, Argentina
Posts: 80
Poder: 21
fabianbbg Va por buen camino
Hola:

Cita:
Empezado por marcoev
este codigo lo tengo dentro de una Accion, a la cual llamo desde cualquier control, en este caso, la estaba llamando desde un boton de una barra de devexpress, lo mas raro de todo es que si la accion se la asigno a un boton normal, este trabaja de forma correcta.
Bueno.. no conozco la barra que mencionas .. pero si anda bien con otro botón entonces el problema no esta en la función sino en dicha barra, mas precisamente en alguna acción que ejecuta esa barra sobre el Tdataset al que esta relacionado.

Supongo entonces que llamas a la función desde el "onclick" de la barra y además de ejecutar la función cambia el estado a DsBrowse.
Habria que ver entonces como "anular" la acción predeterminada del botón.
__________________
desde Corrientes, Argentina..
Cuna del Libertador de America
Responder Con Cita
  #7  
Antiguo 11-01-2006
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 21
marcoev Va por buen camino
pues si, es lo que yo tambien he pensado, lo que he hecho hasta ahora, es quitar la barra y copiarla de otra forma donde no me ha dado problemas, y continuo con el mismo problema, la otra fue borrar el dataset para que se perdieran todas las relaciones, y aun asi siguio el problema... de plano entonces puede que sea error del componente
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
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
campo autoincremento para tabla con ADO VRO Conexión con bases de datos 2 06-06-2005 11:01:06
ado query insertar datos error sakuragi Conexión con bases de datos 0 04-12-2004 09:56:02
Problemas al insertar registros con ADO sanluisme Conexión con bases de datos 0 04-03-2004 10:34:41
problemas para imprimir en una impresora citizen gsx-190 luix Impresión 2 07-09-2003 05:23:27
Problemas para comparar con SQL... Rubiel SQL 1 14-06-2003 14:04:45


La franja horaria es GMT +2. Ahora son las 09:01:21.


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