FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Campo nuevo en tiempo de ejecución
Hola, soy nuevo en el foro y también nuevo en esto de la programación con Delphi, pero de antemano les agradezco la lectura de mi cuestión.
Resulta que tengo una ventana con una Ttable que ya contiene campos creados con el Database Desktop y registros en esos campos; tengo además dos edit y un botón. Lo que quiero (y no he podido hacer ) es que con el botón se agregue un campo tipo string nuevo y permanente a la Ttable sin que se elimine nada de la información que ya contiene dicha tabla para enseguida, por medio del segundo edit, agregar información al campo recién creado. He probado con FieldDefs.Add (porque no sé nada de Alter Table ni cosas de ésas) pero no me marca error al agregarlo, sino hasta cuando quiero adicionar registros al campo recién creado me dice que el campo no existe, es decir, que al corroborar con el Database Desktop, efectivamente no me creo nada de campo. Espero haberme dado a entender. Saludos. |
#2
|
|||
|
|||
Hola,
mediante el fielddef que hablas, lo unico que estaras modificando es el componente TTable, y no la base de datos que representa. La manera mas comoda que conozco es la que comentas, usando alter table mediante un query SQL. Si no quieres hacerlo asi, y supongo que estas usando ODBC, la cosa se complicaria un poco. |
#3
|
|||
|
|||
Gracias, Coso, por tu diligente respuesta.
Bueno, tendré que aprender más eso de Alter Table si es la única manera para solucionar mi problema. Ahora, si no es mucha molestia, ¿me podrías indicar tú u otro que esté más instruído que yo en eso de SQL cómo puedo agregar el contenido de un edit a la instrucción Alter Table para que el nuevo campo se llame como el texto que muestra el Edit? De antemano y de nuevo, gracias por tu ayuda. |
#4
|
|||
|
|||
Te dejo aqui un manual de sql basico : http://sql.1keydata.com/es/sql-alter-table.php
en cuanto a lo q me has dicho, deberias usar un componente query (y mas adelante, te aconsejo que usases los componentes ADO). Seria algo asi, quiza tenga algun fallo de sintaxis, comillas o parecido:
como ves, la sentencia sql no es mas que una string. No recuerdo si son necesarias las comillas, entonces debes usar QuotedStr(Edit1.Text). Tambien, si te da excepcion, prueba query1.Active := true: estoy habituado a usar los componentes ADO para estas cosas, y creo que son algo diferentes, a ver si salta alguien que use los nativos de delphi y te lo explica mejor. un saludo. Última edición por coso fecha: 13-03-2009 a las 17:40:48. |
#5
|
|||
|
|||
De nuevo gracias, Coso, por tu ayuda.
Estaré revisando ese vínculo que me has dado. Espero poderlo hacer así como me indicas. Nos leemos en otro tema y que estés bien. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear campo calculado en tiempo de ejecucion-Ibquery | andresenlared | Varios | 12 | 19-06-2014 06:44:39 |
Debugear en tiempo de ejecucion ? | ingel | Varios | 23 | 12-05-2006 19:23:13 |
Obtener el Nombre de un Campo en Tiempo Ejecucion | Jvilomar | Conexión con bases de datos | 2 | 02-08-2004 23:05:22 |
Tiempo de ejecucion? | st7 | Varios | 3 | 11-05-2004 22:03:28 |
Controles en tiempo de ejecución | JCA | OOP | 4 | 13-02-2004 21:29:21 |
|