Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   ¿Que componentes usar para tablas Paradox? (https://www.clubdelphi.com/foros/showthread.php?t=31799)

h2o_mx 18-05-2006 11:00:30

¿Que componentes usar para tablas Paradox?
 
Saludos a todos los amigos de este foro, tengo ciertos casos
con mis tablas que quiero exponer.

primera tengo un pequeño sistema monousuario con tablas
paradox, no utilizo indices ni nada por el estilo, todas
las vistas que hago de las tablas las hago con sql.

utilizo el componente TTable del DBE para las tablas,
TDBgrid muestra las tablas por medio del componente
TDataSource y este se conecta al
TQuery del DBE para las vistas en sql o sea que para
todas las vistas uso un componente TQuery distinto

He tenido varios problemas de perdida de informacion
he buscado varias veses en el codigo de programacion
y no encuentro la falla, ahora quiero probar habilitando el
readonly para si es de programacion u otra cosa se
denege el acceso o bien que otros componentes para
la conexion de las tablas puedo usar?

tambien no se si esto este correcto para insertar
tuplas en las tablas:
tableX.insert;
tableX.edit;
tableX['campo1']:="cualquiercosa";
tableX['campo2']:="otracosa";
tableX.post;
y bueno para borrar simplemente tableX.delete;

y como mencionaba este programa trabaja monousuario
pero quiero ahora ponerlo en red y deseo saber que
componentes debo de utilizar para la coneccion con
la base de datos.

muchas gracias y Saludos!!:cool: :cool:

nenufer 18-05-2006 11:21:50

Buenos dias
 
Cita:

Empezado por h2o_mx
tambien no se si esto este correcto para insertar
tuplas en las tablas:
tableX.insert;
tableX.edit;
tableX['campo1']:="cualquiercosa";
tableX['campo2']:="otracosa";
tableX.post;
y bueno para borrar simplemente tableX.delete;

O pones el insert o el edit. Pero es eso. Insert para insertar nuevos y el edit para modificar.
Para asignar valores a un campo, puedes utilizar:


Código Delphi [-]
tableX.fieldvalues['campo1']:="cualquiercosa";
tableX['campo1'].value:="cualquiercosa";
tableX.fieldbyname('campo1').asstring:="cualquiercosa";




Para que te funcione con el punto value debes ir al editor de campos en la tabla y añadir los campos.
Y con el fieldbyname puedes sustituir es asstring, por asinteger y me imagino que mas

En cuanto a lo demas,lo siento, no estoy totalmente segura y seguro que te contestara alguien que lo entienda.

Espero haberte ayudado y que fuera eso lo que querias, claro:D .

nenufer 18-05-2006 11:25:27

X cierto
 
En cuanto al query has probado en colocar solo un TQuery? puedes ir limpiandolo al hacer otra consulta,si lo haces en tiempo de ejecucion.

Código Delphi [-]
procedimiento query();
begin
  with query.SQL do
  begin
    Clear;
    Add('update Tabla');
    Add('set  campo1=valor1,campo2=valor2.....' );
    Add('where campo1=valor');
    query.execsql;
  end;
end;

h2o_mx 18-05-2006 15:45:50

hola menufer, te doy las gracias por las respuestas,
lo de las inserciones voy a probar con estas otras
haber que tal.

y en cuanto al query no creo poder usar un solo
query, aproximadamente tengo unas 40 vistas en
todo el programa a lo que uso 40 querys distintos
por que a veces se requiere de usar varias vistas
al mismo tiempo y pues creo que alli seria el problema,
de todas formas yo creo que en algunos si me
puedo evitar algunos.

nuevamente te agradezco tus respuestas y espero que
alguien me ayude con lo de uso de la base de datos
en red.


Thanks!! :cool: :cool:

Lepe 18-05-2006 17:49:48

Lo mejor es No usar Paradox. Firebird es un sistema gestor muy potente, pero tendrías que modificar bastantes cosas en tu programa para cambiar el motor...bueno, no sé hasta que punto, porque dices que usas SQL.

Paradox en red

Buscando en este foro por NetFileDir tambien tienes muchos mensajes sobre paradox en red.

Ahora tendrás que pensar de forma distinta... ya que varios usuarios pueden dar de alta/modificar/borrar registros al mismo tiempo y algunas tareas que tengas hecha necesitará modificarlas al completo.

En cuanto a la pérdida de información, no dices mucho, pero en el evento AfterPost de todas las tablas tienes que poner esto:
Código Delphi [-]
  TTable(Sender).FlushBuffers;
y compartir ese evento con todas las TTables que uses.

Deberías crear índices secundarios para aquellos campos que vas a usar en búsquedas y además hacer que sean "Mantenidos" por Paradox. Todas las opciones las tienes en el Database Desktop al reestructurar una tabla.

Saludos

h2o_mx 18-05-2006 18:14:38

ok, gracias por la informacion.

lo tomare encuenta y es que en verdad hacerlo
ahora en red es algo de pensarse, voy a estar
haciendo varias pruebas hasta que quede.

muchas gracias de nuevo.


Saludos!! :cool: :cool:


La franja horaria es GMT +2. Ahora son las 18:07:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi