Ver un campo añadido a tabla
He aquí lo que me gustaría saber.
Resulta que añado un campo nuevo a una tabla. Lo hago desde la línea de comandos del firebird con: ALTER TABLEx ADD FIELDx VARCHAR() etc. Ya lo he hecho más veces. Pero el caso es que noto que en el despliegue de campos del DBGrid no aparece en nuevo campo a pesar de haberlo cargado en el Query y claro, tampoco aparece en el despliegue de campos del ClientDataSet. La pregunta concreta es ésta: ¿Debo volver a cargar de nuevo los componentes: IBDatabase, Transaction, IBQuery, ClientDataSet partiendo de cero? O tal vez hay alguna manera de hacerlo... más ventajosa. Esa era la consulta. Gracias por vuestra ayuda. bulc |
Hola bulc.
Cita:
Siempre y cuando hayas usado De otro modo debes agregar el nuevo campo al SELECT de la consulta SQL en el IBQuery. Saludos :) |
no recuerdo bien si esto en los clientDataSet estaba o no, pero en los IbDataset si que había que modificar el contenido del componente ya que internamente tiene un Insert, un Update y un refresh query que se generan automáticamente (en muchos caso, en otros mucha gente los crea manualmente) con la información inicial de la tabla y al agregar campos nuevos estos no se ven reflejados en los querys de insert, refresh y update aunque en el el query de select tenga un "select * from tabla"
|
Hola RONPABLO.
Es correcta tu observación. Con los TIBDataSet hay que entrar al DataSet editor (o a mano) y volver a generar las sentencias SQL para que se actualizen las propiedades DeleteSQL, InsertSQL, ModifySQL y RefreshSQL, de otro modo no se incluye el nuevo campo en las acciones. Lo mismo aplica para el TIBQuery si tuviera asociado un TIBUpdateSQL, en este caso la actualización se hace sobre este último componente. Saludos :) |
Me pongo a ello.
Lo probaré y muchas gracias por vuestra ayuda.
bulc |
Ha funcionado a la perfección
Hola ecfisa:
He añadido las cuatro líneas y me ha funcionado perfectamente. ¿Se pueden quitar una vez usadas una vez? Gracias por tu valiosa ayuda. bulc |
Hola bulc.
Disculpas por la demora, no había visto tu consulta :o. Por supuesto que las puedes quitar si no necesitas mas de ellas, pero lógicamente, luego no dispondrás de su funcionalidad. Saludos :) |
La franja horaria es GMT +2. Ahora son las 15:14:35. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi