FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Una Consulta muy sencilla en DBF. Ayuda!!!
Hola a todos! Recurro a toda la gente de este foro porque estoy realizando un programa muy sencillo (estimo 20 0 30 lineas de código) para una institución sin fines de lucro. La idea es convertir unas tablas que se alojan en una base de datos SQL en tablas .DBF (que las interpreta un programa que ellos tienen).
La idea mia es borrar estas tablas .DBF y luego hacer la copia entera desde SQL. Pese a que lo estoy programando en C++ Builder mi duda es conceptual y creo que se entenderá por la gran similitud que tiene con el Delphi. Para intentar borrar las tablas .DBF utilice un componente TTable (como hago siempre) y se muestra en la figura siguiente: img214.imagevenue.com/img.php?image=48387_Problema1_122_614lo.JPG Luego agregué un TDataSource, un TDBgrid y un boton (como siempre) y hasta ahi veniamos bien. img21.imagevenue.com/img.php?image=48638_problema2_122_456lo.JPG En el boton escribi una instruccion para borrar la tabla pero al compilar y oprimir el boton me aparece este cartel: img267.imagevenue.com/img.php?image=48640_Compila1_122_126lo.JPG En realidad probé de muchas formas (borrar una sola linea, etc) y pasa lo mismo. Al modificar valores no sucede esto. Entonces si aplico TRUE a la propiedad Exclusive me aparece "Table is Busy" img184.imagevenue.com/img.php?image=48642_exclusive_122_1183lo.JPG La verdad no se que hacer porque desde el punto de vista de la SQL (que suponia seria lo mas dificil) funciono en 10 minutos pero las DBF siguen con ese cartel. Agradeceria cualquier tipo de aporte para solucionar el problema. Atte. Rogelio |
#2
|
||||
|
||||
Si fuera en Delphi el problema vendría dado por utilizar las tablas en uso exclusivo en vez de compartido, ya que el IDE es un usuario más.
Parto del supuesto de que las tablas no están abiertas por el otro programa en el momento de la acción. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
El C++ Builder es exactamente igual al delphi en casi todo... Creo que una vez me comentaron algo asi como que el compilador transforma el codigo a dellphi y luego compila... En sus carpetas se encuentran muchas cosas de delphi... Ahora hablando de la DB funciona y reacciona igual que en delphi. Hasta el momento con las que he trabajado (paradox y sql) funcionaba asi pero esta dbf no se deja poner el exclusive a true... alguien sabe porque?
|
#4
|
|||
|
|||
Gracias por responder Marcos!!! y como lo soluciono para que no me tire el cartel??
|
#5
|
||||
|
||||
Tienes que abrir las tablas en modo compartido como te comentaba.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
||||
|
||||
Claramente el problema que estás teniendo es que no estás abriendo la tabla en modo exclusivo, cosa que te hace falta para poder borrarla. Seguramente algún componente u otro usuario de la aplicación tiene la tabla abierta. Yo probaría a quitar el datasource y el dbgrid y solamente dejar un botón que abra la tabla en modo exclusivo y borrarla.
Espero haberte ayudado en algo. Saludos |
#7
|
|||
|
|||
Gracias Marcos y newtron.
Sigo leyendo y aprendiendo. Parece ser que la DBF de fox pro tiene un archivo .CDX que no se que es pero estimo que el problema se puede encontrar ahi... o esté relacionado con eso. Estuve mirando lo del Exclusive y me resulto imposible hacerlo funcionar. Con las bases de datos paradox (que son las que he usado) siempre me funciono. La verdad es que esto me tiene desconcertado y ahora estoy descubriendo que existe algo llamado Maestro/Detalle que relaciona las tablas. Simplemente soy aficionado al tema y deseo colaborar con este sencillo programita. Agradeceria todo tipo de orientacion u informacion para leer al respecto. Grax |
#8
|
||||
|
||||
El archivo CDX corresponde a los índices.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#9
|
||||
|
||||
consultando nuestros foros, encontre esto:
Cita:
http://www.clubdelphi.com/foros/showthread.php?t=31125 o borrar la tabla con sql Código:
DROP TABLE ---------- DROP TABLE nomtabla Esta sentencia SQL borra una tabla. Ejemplo: ... Query1.SQL.Text := 'DROP TABLE "Productos.DBF"'; Query1.ExecSQL; ...
__________________
Todos llevamos nuestros demonios a cuestas.. Última edición por gmontes fecha: 08-11-2010 a las 23:12:24. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Una consulta sencilla | codicia | Varios | 3 | 21-12-2009 04:54:06 |
Consulta muy sencilla, extrañamente lenta | Angel Fernández | Firebird e Interbase | 33 | 25-07-2008 20:57:47 |
Consulta sencilla sobre ms access | fybeyancourt | Tablas planas | 2 | 05-03-2007 22:51:58 |
Error raro en consulta sencilla | papulo | SQL | 1 | 16-09-2005 10:41:42 |
Consulta Sencilla SQL + Delphi | Maury Manosalva | SQL | 4 | 08-09-2005 11:17:47 |
|