Foros del Web » Programando para Internet » ASP Clásico »

hacer un insert con autoincremento de campo manual

Estas en el tema de hacer un insert con autoincremento de campo manual en el foro de ASP Clásico en Foros del Web. Que tal Les consulto, de que manera podria hacer para hacer un insert en mi pagina web (con un form) para que uno de los ...
  #1 (permalink)  
Antiguo 22/12/2004, 22:27
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 21 años, 8 meses
Puntos: 0
Pregunta hacer un insert con autoincremento de campo manual

Que tal

Les consulto, de que manera podria hacer para hacer un insert en mi pagina web (con un form) para que uno de los campos vaya incrementando de uno en uno en cada insert, pero sin hacer un campo autonum en la BD .. es decir, cada que inserte un registro .. haya un campo que vaya incrementado +1.


Gracias

y felices fiestas
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #2 (permalink)  
Antiguo 22/12/2004, 23:28
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 5 meses
Puntos: 0
salu2, con el script que manejas los datos del form debes generar una nueva consulta...

despues de cada Insert un Update
INSERT INTO TABLA(CAMPOS) VALUES()

...ejecución del Insert Query....

UPDATE TABLA SET CAMPO=CAMPO+1

por lo que entendi de tu post, eso e slo que necesitas...salu2
  #3 (permalink)  
Antiguo 23/12/2004, 06:52
 
Fecha de Ingreso: mayo-2003
Mensajes: 58
Antigüedad: 21 años
Puntos: 0
Yo lo que tengo es creada una función a la que le paso el nombre de la tabla en la que quiero realizar el INSERT y me devuelve el máximo id + 1 de la tabla.
Así pues, ya tengo el nuevo identificador del nuevo registro. Eso sí, campo númerico.
Muy sencillo!
  #4 (permalink)  
Antiguo 23/12/2004, 07:13
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 5 meses
Puntos: 0
Pero eso puede traer problemas (yo empecé planteando las cosas así, y acabe cambiando a autonum.).

Si dos usuarios realizan la consulta a la vez (facil), se generan dos ID's duplicados, y eso te trae de cabeza y da bastntes errores.

EL autonum. si encuentra ese caso directamente asigna un nº a uno y otro a otro; así te evitas problemas.
__________________
Tu portal de manga y anime.
  #5 (permalink)  
Antiguo 23/12/2004, 07:21
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 21 años, 8 meses
Puntos: 0
Gracias por responder a todos,

Meru-Kun, sobre lo que comentas, yo tambien en cierta forma pienso igual, pero la necesidad de hacer esto es porque necesito crear un forumario de insercion para usuarios del ForoPHPbb y la tabla "users" de este foro no esta como autoincremento y si le cambio la propiedad a "autonum" comienzo a tener diversos problemas, por eso decidi intentar hacerlo como esta pensado originalmente (aunque mi sitio esta con ASP)


Voy a intentar con sus consejos

gracias¡
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #6 (permalink)  
Antiguo 23/12/2004, 07:22
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 19 años, 5 meses
Puntos: 0
una opcion puede ser ...
Insert into tabla(campo1, campo2, ....., campoN) Values ((select max(campo1) from tabla), Valor2,....., ValorN)

esto deberia funcionarte bien.
Creo que la opcion de HiTek puede traerte algun problema de inconsistencias en el futuro (tal como dice Meru-Kun)

Espero haber ayudado

Saludos.
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #7 (permalink)  
Antiguo 23/12/2004, 07:23
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 5 meses
Puntos: 0
entonces tendrias que hacer alguna consulta SQL mas compleja
Código:
select MAX( CAMPO_ID ) FROM Tabla  --esto recuperaria el ID mas alto
var_IDMaximo = rs("CAMPO_ID")

If NOT Exists (SELECT ID_CAMPO FROM TABLA WHERE CAMPO_ID = var_IDMaximo+1 )
       INSERT INTO TABLA(CAMPO_ID, ....) VALUES(var_IDMaximo+1)
ELSE
       select MAX( CAMPO_ID ) FROM Tabla  --esto recuperaria el ID mas alto
       var_IDMaximo = rs("CAMPO_ID")
       INSERT INTO TABLA(CAMPO_ID, ....) VALUES(var_IDMaximo+1)
saludos
  #8 (permalink)  
Antiguo 12/07/2010, 19:50
 
Fecha de Ingreso: septiembre-2003
Ubicación: Valparaiso
Mensajes: 10
Antigüedad: 20 años, 7 meses
Puntos: 0
De acuerdo Respuesta: hacer un insert con autoincremento de campo manual

Hola Amigos

Espero le sirva esta solucion:
1. Crear una nueva consulta o RecordSet
2. SELECT MAX(CAMPO_BD) FROM TABLA
3. Crear una variable y asigna el campo y lo incrementan
ej: $TestVar = $row_rsMAxFAct['MAX(CAMPO_BD)'] + 1;
3. Luego al realizar el formulario, en el campo en cuestion le dan por defecto la variable.
4. Disfruten ;)

Eso soluciona este problema de inserta un campo de incremento automatico manual.

Suerte amigos

Metv.

Cita:
Iniciado por HiTek Ver Mensaje
entonces tendrias que hacer alguna consulta SQL mas compleja
Código:
select MAX( CAMPO_ID ) FROM Tabla  --esto recuperaria el ID mas alto
var_IDMaximo = rs("CAMPO_ID")

If NOT Exists (SELECT ID_CAMPO FROM TABLA WHERE CAMPO_ID = var_IDMaximo+1 )
       INSERT INTO TABLA(CAMPO_ID, ....) VALUES(var_IDMaximo+1)
ELSE
       select MAX( CAMPO_ID ) FROM Tabla  --esto recuperaria el ID mas alto
       var_IDMaximo = rs("CAMPO_ID")
       INSERT INTO TABLA(CAMPO_ID, ....) VALUES(var_IDMaximo+1)
saludos
  #9 (permalink)  
Antiguo 13/07/2010, 01:36
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 9 meses
Puntos: 41
Respuesta: hacer un insert con autoincremento de campo manual

Metv ¿te has fijado de que año es el tema al que contestas?

No se deben levantar post antiguos.
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras
  #10 (permalink)  
Antiguo 13/07/2010, 06:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: hacer un insert con autoincremento de campo manual

Esto es increible. Es usuario hace 7 años, ha publicado en 7 ocasiones y responde a un mensaje de hace 6 años
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:21.