![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Esto me ha ocurrido cuando la consulta de la que se reciben los datos, tiene una subconsulta. El Parser de la sentencia no es muy inteligente, y considera la primera tabla que encuentra, como la tabla a modificar. En todo caso la solución es sencilla. En el evento OnGetTableName del TDatasetProvider, indícale cual es la tabla a utilizar para modificar los registros. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#2
|
|||
|
|||
|
Hola guillotmarc,
Primero muchas grácias por contestarme. He probado lo que me has dicho y me da el mismo error. Lo que he hecho es lo siguiente: He ido al TDatasetProvider y he hecho doble click sobre el evento OnGetTableName y he escrito. TableName := 'Nombre de la tabla'; y me da el mismo error Project Project1.exe raised exception class EDatabaseError with message 'Table unknow nombre de la tabla at line 1, column 17. y si le doy a F9 Project Project1.exe raised exception class EDatabaseError with message 'Unable to find record. No key specified'. Process stoped. No sé sí hago algo mal. Jordy. |
|
#3
|
||||
|
||||
|
Hola.
Respecto al primer problema, verifica el nombre de la tabla, sobre todo el tema de mayúsculas/minúsculas. (En Interbase, por ejemplo, para indicar una tabla con carácteres en minúsuclas, hay que entrecerrar su nombre con dobles comillas). Respecto al problema de Unable to find record, es debido a que no es capaz de detectar el registro a modificar, debido a que no se ha indicado cual es el campo de clave primaria. Para indicarlo, vé a los campos persistentes del TSQLQuery (no del TClientDataset), y en el campo correspondiente a la clave primaria, actívale el flag pfInKey en su propiedad ProviderFlags. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#4
|
|||
|
|||
|
Muchas grácias Gillotmarc.
Ya que me funciona perfectamente de la siguiente manera. Yo en Firebird tengo el nombre de la tabla todo en mayusculas, pues he hecho lo qhe tú me has dicho de modificar el nombre de la tabla (antes lo tenía con la primera letra y el resto en minusculas) a mayusculas y todo OK. En cuanta al segundo problema ha desaparecido. Muchas Gracias. Jordy. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|