![]() |
la major manera de trabajar con ADO
hola amigos, tengo un problema al tratar de actualizar una tabla mediante un TADOCommand trabajo con SQL Server, lo explicare de la forma mas simple posible:
en un form tengo un TADOConnection, un TADOCommand y un TADOQuery en la propiedad SQL del query pongo SELECT * FROM TABLA WHERE id_campo1 = :codigo (este query solo devuelve un registro que le doy al parametro ":codigo" y tengo enlazado TDBEdits para visualizar los campos correspondientes) abro el query previamente pasandole el valor al parametro "codigo" ejm:
hasta ahi todo funciona bien, se visualizan en los edits los datos del resgistro '0123' Ahora; en la propiedad CommandText del TADOCommand pongo lo siguiente: UPDATE TABLA SET id_campo2 = :id_campo2, id_campo3 = :id_campo3 WHERE id_campo1 = :id_campo1 (el TADOCommand ahora tiene 3 parametros q corresponden a los campos del TADOQuery) para ejecutar el TADOCommand escribo: con el codigo previo me da un error q dice q el recordset no esta abierto, la verdad soy nuevo en ADO y les agradeceria enormente me expliquen la mejor manera de actualizar una tabla mediante un TADOCommand, como se correlacionan estos componentes en fin, que se hace habitualmente para estos casos Muchas Gracias!!!:) TABLA tiene como campos los siguientes: id_campo1, campo2 y campo3 en commandText del TADOCommand pongo |
Comenzar que para realizar un UPDATE, puedes usar igualmente el TADOQuery con el método Exec.
Asegúrate de que los parámetros que estás pasando son correctos. |
Hola
1 adoconnection, 2 adoquery.
El numero aqui: Fields[0].Text dependera de la posicion en la tabla, tambien podria hacerse por byname. Saludos |
otra forma
Hola
1) Prueba con poner la propiedad prepared= true antes de ejecutar 2)Te recomiendo que tengas en tiempo de diseño query a ejecutar y que los parametros esten bien definidos: ejemplo un parametro date debe de estar así definido en los parametros o si vas a generar sql en tiempo de ejecucion: evitate el hacer un command y ejecuta directo el query ADOQuery2.slq.text:= 'UPDATE TABLA SET id_campo2 = ' +ADOQuery1.Fields +' where .....siques tu cadena' o ejecuta esto en el store procedure de sqlserver saludos |
| La franja horaria es GMT +2. Ahora son las 09:53:25. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi