![]() |
Problemas con Dbase añadiendo campos en ejecucion
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 |
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
|
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. |
Gracias pero...
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 |
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. |
Cambio de sintaxis
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 |
La franja horaria es GMT +2. Ahora son las 13:11:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi