PDA

Ver la Versión Completa : Problemas con Dbase añadiendo campos en ejecucion


yair
12-08-2004, 08:40:16
Hola,
Resulta que creo un alias en delphi para añadir un campo a mi tabla en tiempo de ejecucion , pero al intentarlo hacer me dice que no encuentra el archivo "resttemp.DBF", pero yo no manejo ninguna tabla cuyo nombre se parezca siquiera a este, alguna idea?

Este es el codigo que uso:
Query.Close;
Query.SQL.Clear;
query.sql.add('ALTER TABLE "Analisis.dbf" ADD NUEVO SMALLINT' );
Query.ExecSQL;
query.Active := true;

antes de esto creo un alias con el que trabaja el Tquery

gracias de antemano

LucianoRey
12-08-2004, 18:21:42
No he hecho algo parecido pero, lo primero que me viene a la mente y esto por haber trabajado con dbf's, es el tipo de campo que quieres agregar smallint, me parece que un dbf solo maneja caracter, numerico, fecha, memo y tal vez se me olvida alguno pero no mas y lo del archivo debe ser un temporal que crea al hacer modificaciones en el que quieres, porque no pruebas agregando uno de tipo caracter y con esto te daras cuenta de si es es tipo, saludos

marcoszorrilla
13-08-2004, 12:28:21
Efectivamente en Dbase los campos son numéricos y se le indica con cuantos decimales por ejempelo numeric 5,0 sería numérico sin decimales, hay que tener en cuenta que el separador ocupa un espacio por lo que un 5 posiciones y 2 decimales quedaría numeric 9,2


Un Saludo.

yair
15-08-2004, 09:22:14
Intente lo que propones. pero aun asi me sigue marcando el mismo error, declare de todas las formas posibles el tipo caracter, pero aun asi no jala.

intente
'ALTER TABLE "Analisis.dbf" ADD NUEVO CHAR [30]'
Y marca el mismo error:
'BLOB already opened. File or directory does not exist.
Y menciona la tabla resttemp que como mencione yo jamas creo.

ya desesperado declare el CHAR como C , como CH como CHARACTER y solo decia que no encontraba ese token.

Asi que cualquier otra ayuda o forma de añadir y borrar campos a tablas en dbase ya creadas sera bienvenida


yair
la paz, mexico

marcoszorrilla
17-08-2004, 12:25:51
La sintaxis que estás utilizando creo que no es correcta, pero estoy de vacaciones y no tengo a mano nada para poderlo cotejar.

Un Saludo.

yair
18-08-2004, 21:01:09
Ahora estoy utilizando la siguiente sintaxis:
Query.Close;
Query.SQL.Clear;
query.sql.add('ALTER TABLE Analisis.dbf ADD nuevo CHAR[15]' );
Query.ExecSQL;
query.Active := true;

y me marca como error:
Table does not exist.
File or directory does not exist.
File: G:\LABORATORIOSSANTAANA\LABSNTAANA\BaseDeDatos\dbf.DBF

Cualquier otra forma de añadir campos en ejecucion a una tabla sera bienvenido (¿podria poner esto ultimo como un nuevo hilo?)

Gracias