![]() |
| |||
| Habia mandado el siguiente código: >Tengo en mi programa esta fracción de código > >SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >SQL.Add('WHERE (IdPersona = :ID)'); >Params[0].AsInteger := IdPersona; >ExecSQL(); > >y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >tabla. A qué puede ser debido?. He encontrado el problema: El campo IdPersona es autoincremental y cuando ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo registro donde se copian las modificaciones y luego se borra el original. Por tanto la pregunta siguiente sería: Cómo se puede modificar con SQL un registro con campos autoincrementales sin que estos campos se modifiquen??????? Gracias y un saludo. |
| | ||||
| ||||
| |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que estar atento a eso. Joaquin wrote: > Habia mandado el siguiente código: > > >>Tengo en mi programa esta fracción de código >> >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); >>SQL.Add('WHERE (IdPersona = :ID)'); >>Params[0].AsInteger := IdPersona; >>ExecSQL(); >> >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la >>tabla. A qué puede ser debido?. > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > registro donde se copian las modificaciones y luego se borra el original. > > Por tanto la pregunta siguiente sería: > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > que estos campos se modifiquen??????? > > Gracias y un saludo. > > > -- Linux user number 344659 "...Los que no requieren de un dios para ser virtuosos, son la desesperacion de los creyentes..." ------------------------------- Eduardo Quiroz Salinas 09-5149349 eduardoquiroz***vtr.net ------------------------------- |
| |||
| Muchas gracias por la aclaración. "Eduardo Quiroz Salinas" <eduardoquiroz***vtr.net> escribió en el mensaje news:cis52a$l8p$1***news1.nivel5.cl... > si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el > numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el > autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que > estar atento a eso. > > > Joaquin wrote: > > Habia mandado el siguiente código: > > > > > >>Tengo en mi programa esta fracción de código > >> > >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); > >>SQL.Add('WHERE (IdPersona = :ID)'); > >>Params[0].AsInteger := IdPersona; > >>ExecSQL(); > >> > >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la > >>tabla. A qué puede ser debido?. > > > > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > > registro donde se copian las modificaciones y luego se borra el original. > > > > Por tanto la pregunta siguiente sería: > > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > > que estos campos se modifiquen??????? > > > > Gracias y un saludo. > > > > > > > > -- > Linux user number 344659 > > "...Los que no requieren de un dios para ser virtuosos, > son la desesperacion de los creyentes..." > > ------------------------------- > Eduardo Quiroz Salinas > 09-5149349 > eduardoquiroz***vtr.net > ------------------------------- |
| |
| |
| |||
| Muchas gracias por la aclaración. "Eduardo Quiroz Salinas" <eduardoquiroz***vtr.net> escribió en el mensaje news:cis52a$l8p$1***news1.nivel5.cl... > si hay autoincremente en un campo, entonces dicho campo es el campo llave. Sòlo tienes que mandar el > numero del campo (el q se autoincrementa) como dato para tupla. Con eso NO se modifica el > autoincrementable. Pero si no lo pones dentro del update, entonces te creará uno nuevo. Tienes que > estar atento a eso. > > > Joaquin wrote: > > Habia mandado el siguiente código: > > > > > >>Tengo en mi programa esta fracción de código > >> > >>SQL.Add('UPDATE "Personas.db" SET RefCount = RefCount + 1'); > >>SQL.Add('WHERE (IdPersona = :ID)'); > >>Params[0].AsInteger := IdPersona; > >>ExecSQL(); > >> > >>y curiosamente cuando la ejecuto me incrementa el campo IdPersona en la > >>tabla. A qué puede ser debido?. > > > > > > He encontrado el problema: El campo IdPersona es autoincremental y cuando > > ejecuto la SQL se incrementa porque, como entiendo, se crea un nuevo > > registro donde se copian las modificaciones y luego se borra el original. > > > > Por tanto la pregunta siguiente sería: > > Cómo se puede modificar con SQL un registro con campos autoincrementales sin > > que estos campos se modifiquen??????? > > > > Gracias y un saludo. > > > > > > > > -- > Linux user number 344659 > > "...Los que no requieren de un dios para ser virtuosos, > son la desesperacion de los creyentes..." > > ------------------------------- > Eduardo Quiroz Salinas > 09-5149349 > eduardoquiroz***vtr.net > ------------------------------- |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problemas con el Informe de Problemas y Soluciones | Carlos Ivan | Newsgroup microsoft.public.es.windowsvista | 0 | 16-07-2008 04:38:49 |