![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Yo no he trabajado con ADO, por eso mismo no he dejado ningun mensaje en este hilo, aunque lo he visitado mucho. Puede me equivoque en las siguientes afirmaciones.
Según veo, has llegado al límite de ADO. Quiero decir, estás intentando hacer algo para lo que ADO no está preparado, así que lo más fácil es: - Cambiar de componentes. Igual no es viable. - hacer las cosas como ADO espera, si para ello necesitas un ClientDataset y otra parafernalia... pues ajo y agua. Como sugerencia, crea un frame que ya tenga todos esos componentes y te quite trabajo en la repetición de código. En cuanto a la nueva pregunta, espero que los ADO tengan un evento OnPostError, lugar donde podrás capturar el error y actuar en consecuencia, pero vamos, no es lo óptimo hacer saltar un error sabiendo que siempre ocurrirá para después parchearlo. Otra opción es usar el evento BeforePost, allí siempre harías lo mismo: - capturar los nuevos valores que el usuario ha editado. - Cancelar el guardado (Dataset.Cancel); - Ejecutar tu AdoCommand. - Hacer un refresh del registro. Quizás lo más complejo de todo, pero "más eficiente", sea usar un StringGrid, o un control no enlazado a datos, de esa forma tendrás total libertad para moverte entre columnas del StringGrid y hacer las actualizaciones. Ésto por supuesto, necesitará mucho más código delphi. El no tener claves primarias, es un error grave de diseño. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
|||
|
|||
|
en cuanto a lo de las claves primarias
Pues la verdad la bd no la diseñe yo, solo estaba alli con un sistema ya existente, por esa razon no debo hacer grandes cambios porque se afecta el sistema en cuestion, ahora bien lo de las claves primarias no lo entiendo bien (digo el porque del la referencia a ellas y su relacion con lo de ADo
)en efecto existen columnas que uso como clave, (aquellas por medio de las cuales hago el join),ademas dentro de las tablas estan definidos indices sobre una o varias columnas bien sea el caso ..... De verdad no entiendo esta parte, ya fue referenciada por Caral y ahora por Lepe... no me queda mas que rendirme y aceptar que algo estoy haciendo mal (por ignorancia claro esta), en todo caso les pido ayuda.... P.D ... con todo respeto Lepe no creo que sea posible que Esto no se pueda con ADo, es algo muy util y dudo que a los diseñadores de esa tecnologia se les pasara sobre todo habiendo antecedentes (sqlUpdate de Bde), estoy seguro que alguien sabe como hacerlo lo que pasa es que esta de vacaciones del Foro ![]() ![]() ![]() ![]() tu opcion en el BeforePost ya la intente pero con otro orden en las sentencias voy a probar asi como dices .... Gracias amigos |
|
#3
|
||||
|
||||
|
Cita:
.Saludos y Suerte
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
|||
|
|||
|
Eso creo yo
sinceramente creo que si se puede pero de otra forma, no puedo creer que algo que ya estaba en Bde sea eliminado en Ado sin dejar la alternativa para hacer, y fijate que Bde, Idb, corelab usan SqlUpdate, porque, pues porque es facil de usar y te permite actualizar consultas "complejas", incluso vistas, por eso no creo que se pierda esta funcionalidad...
es mi humilde opinion... ![]() sin duda por alli debe andar un especialista en Ado y en eso estoy esperando a que diga algo ![]() Please ... ![]() ![]() P.D ... por cierto lepe dices que no usar Ado y entonces que usas ....? solo por curiosidad.... |
|
#5
|
|||
|
|||
|
Bueno hay otra alternativa para el updateSQL, es mas trabajosa pero bueno:
se llama: "Campos Lookup" el procedimiento a grandes rasgos es: Adoquery con consulta principal (la que se va a actualizar) Adoquery - los que necesites para ligar mas tablas ligas los adoquery por medio de la propiedad datasource del adoquery (necesitas datasources ligado al adoquery principal) despues boton derecho en el adoquery principal, fieldsEditor, agregas los campos y creas unos nuevos que sean del tipo lookup para que muestres todos los campos en el grid y listo! esto es a grandes rasgos, la ayuda viene muy bien explicado aunque en partes separadas |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| MaxRecord de adoquery | Rako | Conexión con bases de datos | 2 | 09-07-2007 15:28:24 |
| ADOQuery | silviodp | Conexión con bases de datos | 15 | 13-12-2006 17:45:34 |
| concatenar en un adoquery | crack_neon | Conexión con bases de datos | 2 | 04-05-2006 21:57:24 |
| Duda con AdoQuery | Telemaco | Conexión con bases de datos | 1 | 26-04-2004 11:27:54 |
| AdoQuery | davidgaldo | Conexión con bases de datos | 1 | 05-02-2004 20:07:29 |
|