![]() |
Ayuda con TIBDataSet
Buen dia a todos.
He leido todos los foros y no encuentro la solución a mi problema. Tengo un Grid que tiene como suorce un TIBDataSet, ya tengo asignadas las propiedades SelectSQL, InsertSQL, DeleteSQL, etc. El select lo hace perfecto pero cuando intento actualizar o agregar un registro si hago un post me marca error o simplemente no guarda nada. Tengo un TDataSource1.DataSource=IBDataSet1 Tambien Tengo una forma de TDBEDIT con el dataSource igual al TDataSource1 (del TiBDataset). Al presionar un boton actualizar, el grid se oculta y los datos del registro al que apunta el grid se muestran en los TDBEDIT para editarse. Por ejemplo, en ModifySQL lo tengo así: Código:
update mitabla set Cargo= :Cargo,Fecha= :Fecha,Código:
IBDataSet1.EditYa los ligue con los parametros y no funciona, por ejemplo: Código:
IBDataSet1.Append;Puede alguien ayudarme con un ejemplo de como hacerlo o del porque me esta marcando ese error? De antemano gracias. Saludos |
Hola.
En primer lugar debes asignar al TDBedit un Field de la lista. Cuando haces click en el '+' de la barra de navegacion escribes en el dbedit, aceptas y ya esta. Si quieres modificar 'click' en el boton editar modificas en el dbedit y aceptas Saludos |
Cita:
Cuando escribes en un DBEdit para modificar un registro, se hace "temporalmente", cuando se guardan los cambios, se envía esa SQL contra la tabla: Código:
update mitabla set Cargo= <el valor del dbedit asociado>,Cuando le das a agregar un regisro con un DBnavigator, se enviará el SQL de InsertSQL. El resto del código, no sé donde lo tienes, pero no hace falta. Cuando quieras agregrar un registro totalmente por código, sin que el usuario lo sepa, entonces has de usar:
un saludo |
No tengo un DBNavigator, tengo dos botones uno para editar y otro para agregar nuevo.
Si al editar, una vez que modifico mis datos... Código:
IBDataSet1.Edit;Código:
IBDataSet1.Edit;Alguien tiene algun programita donde use el TIBDataSet para ver que estoy haciendo mal o es la versión del IBX (tengo delphi Enterprise 7 con Firebird 1.5)? como puedo actualizarlos o obtener una versión gratuita de FibPlus? Muchas gracias por su ayuda Saludos |
Hola.
Cita:
Aunque el componente TIBDataSet tenga parámetros en sus propiedades InsertSQL y UpdateSQL, éstos no son accesibles mediante el método ParamByName, sólo lo son los parámetros de la propiedad SelectSQL. |
Gracias Daniel, ya lo cambie a FielByName, el problema es que no actualiza el registro ni me marca error, alguien sabe porque?
|
Hola, en este componente el refresco no es automático.
Puedes probar a hacer un Refresh del mismo, aunque muchas veces hay que cerrarlo y volver a abrirlo... Un saludo. |
Rsp
Cuale s el eroro que te marca
|
Respuesta
Mira no veo en donde asignas el parametro "clave" al hacer la modificacion, para generar los script te sugeriria que utilizaras la opcion que trae el IBDataset ( click derecho / Dataset Edit / Generate SQL ) solamente debes de seleccionar la llave primaria y Listo
|
Ya funciono. No se ni que tenía pero me hizo sufrir un rato, lo unico nuevo que hice fue darle doble click sobre el TIBDataSet, asignarle todos los campos del select y quite todos los .FieldByName.
Gracias Saludos |
| La franja horaria es GMT +2. Ahora son las 11:59:18. |
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