Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2008
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Question conexion insertar,borrar, actualizar tablas .bdf

Hola amigos de nuevo aqui con un pequeño problemilla, no he manejado delphi con tablas bdf, pensando un poco, lo que logre hacer fue crear una conexion con el odbc y el driver de visual foxpro ya que las tabla se generaron ahi, despues en delphi agregue un tdatabase,ttable y un tdatasource,tdbnavigator,tdbgrid y varios Tdbedit, con eso ya pude ver la informacion que contiene la tabla, mi problema entre otros son varias cosas,

1.-me aparece la ventana de databaselogin al iniciar el programa, cuando la propiedad del tdatabase loginprompt esta en false, no se que otra cosa tenga que configurar.
2.-Con la barra dbnavigator puedo pasar de un registro a otro con las flechas e incluso me permite agregar otro registro, pero si quiero borrar alguno o quiero escribir en un registro que ya existe es decir actualizar un dato de algun campo me manda el siguiente error

Código Delphi [-]
Project Project.exe raised exception class EDBEnginerError with message 'Key violation. [Microsoft][ODBC Visual foxpro driver]SQL:statement too long.'

No estoy insertando informacion duplicada, eso me aparece cuando intento modificar en el dbgrid informacion o cuando quiero borrar algun registro.
Como les dije no he trabajado con ese tipo de tablas, tal ves no es la forma como debi hacer la conexion o me falto algun paso, les agradeceria si pudieran decirme cual seria la mejor forma de poder accesar a esos datos y poder insertar,modificar, y borrar la informacion.
utilizo delphi2006 y las tablas estan hechas en visualfoxpro 8

Por su ayuda muchas gracias
__________________
En movimiento...
Responder Con Cita
  #2  
Antiguo 30-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Hola

Mira, con el Delphi 7, realizaba lo sgte;

- Crear el Alias (ruta donde estan ubicadas las tablas .dbf) en el DBE
- Conectar las tablas mediante los TTable o TQuery de la pestaña DBE
- Siempre utilice TQuery (para actualizar habia que cambiar la propiedad RequiesList a True... no me acuerdno muy bien como se escribia


Como todo lo usaba con TTable y TQuery.. los proceso para agregar, eliminar, actualizar eran los sgtes:

Eliminar
Código Delphi [-]
     With Tablas Do
          With TSoc Do
          Begin
               If MessageDlg('Seguro de Borrar al Socio '+#13+#13+FieldByName('Nombre').AsString,mtConfirmation, [mbYes,mbNo], 0)=MrYes Then
                  Delete;
          End;

Agregar
Código Delphi [-]
     With Tablas Do
          With QSimples Do
          Begin
               If RecordCount = 1 Then
                  ShowMessage('Registro ya Existe !   No fue agregado!!!')
               else
                  Begin
                      Insert;
                      FieldByName('Ficha').AsString     := Fic.Text;
                      FieldByName('Nombre').AsString    := Nom.Text;
                      FieldByName('Simple').AsString    := Simple.Text;
                      FieldByName('Olimpico').AsString  := Olimpico.Text;
                      FieldByName('Sorteo').AsString    := Sorte;
                      FieldByName('Temporada').AsString := Tempo;
                      Post;
                  End
          End;

Bueno, en el ejemplo anterior, antes de insertar verificaba con el sgte codigo
Código Delphi [-]
     Fic.Text := Verificar.SFicha.Text;
     Nom.Text := Verificar.Nombre.Text;
     Tempo := Verificar.Temporada.Text;
     Sorte := Verificar.Sorteo.Text;
     Simple.SetFocus;
     With Tablas Do
          With QSimples Do
          Begin
               Sql.Clear;
               Sql.Add('Select * From Simples Where (Ficha=:Var1) And (Sorteo=:Var2) And (Temporada=:Var3)');
               Params[0].AsString  := Fic.Text;
               Params[1].AsString  := Sorte;
               Params[2].AsString  := Tempo;
               ExecSql;
               Active:=True;
          End


Bueno, recordando no tengo ningun proceso de actualización...

Las tablas eran creadas con el DBE, tipo DBase III o Paradox

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 02-06-2008
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
Thumbs up

Muchas gracias por tu respuesta BlueSteel.

Utilize un componente que se llama tdbf y se soluciono mi problema dejo el link por si alguien mas le sirve.

http://sourceforge.net/projects/tdbf/

Saludos
__________________
En movimiento...
Responder Con Cita
  #4  
Antiguo 30-01-2014
MasDelphi MasDelphi is offline
Miembro
 
Registrado: abr 2007
Posts: 10
Poder: 0
MasDelphi Va por buen camino
Gracias thelibmx!!.
Ayer tuve que trabajar con un código muy antiguo y se me presentó el mismo problema que indicas. También conseguí solucionarlo con componente de tdbf en Delphi 5. Varias horas en ello y un dolor de cabeza, hasta que seguí tu consejo y logré la solución.

Nuevamente, gracias a todos!.
Responder Con Cita
  #5  
Antiguo 10-02-2014
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
No es nada, Saludos
__________________
En movimiento...
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, eliminar, borrar, consultar richy08 PHP 5 06-10-2007 00:40:38
Error al insertar o borrar registros en firebird pepitu Firebird e Interbase 3 26-09-2005 14:56:57
Borrar e Insertar un registro de una tabla con Query Draco Conexión con bases de datos 4 06-05-2004 17:27:37
Insertar o actualizar con ADO rafita Conexión con bases de datos 3 24-09-2003 14:34:15
¿Cómo insertar o borrar registros? Lester Conexión con bases de datos 3 12-06-2003 15:24:46


La franja horaria es GMT +2. Ahora son las 22:34:37.


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