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

Ayuda con base de datos

Estas en el tema de Ayuda con base de datos en el foro de ASP Clásico en Foros del Web. Hola chicos Tengo una tabla en mi base de datos llamada cargos de la cual el campo codigo del cargo es una variable texto. Este ...
  #1 (permalink)  
Antiguo 02/07/2002, 00:12
 
Fecha de Ingreso: mayo-2002
Mensajes: 91
Antigüedad: 22 años
Puntos: 0
Ayuda con base de datos

Hola chicos

Tengo una tabla en mi base de datos llamada cargos de la cual el campo codigo del cargo es una variable texto.
Este campo en realidad le estamos colocando valores numericos los cuales se los incluye la forma ingresar cargos, los cuales se incrementan de uno en uno.

Incluyo perfectamente hasta el cargo numero 10, pero el cargo 11 no se puede ingresar ya que el contador no pasa de 10.

El codigo es el siguiente:
Para incrementar el codigo del cargo en la base de datos:

<%set revisar2=server.createObject("ADODB.recordset ")
sql2="select MAX(codigo) as codigito FROM cargos"
revisar2.open sql2,conn
if revisar2("codigito")<> 0 then
codigoclt=revisar2("codigito")+1
else
codigoclt="1"
end if%>

y para incluir en la base de datos es el siguiente:


validar= codigoclt
set valida = server.createobject ("Adodb.recordset")
consulta = "Select * from cargos where codigo = '"&validar&"'"
valida.open consulta,conn
if valida.eof and valida.bof then
set repr= server.createobject("Adodb.command")
repr.commandtext = "Insert into cargos (codigo,nombre) values (?,?)"
set repr.activeconnection = conn
repr.parameters.append repr.createparameter("as",200, ,255)
repr.parameters.append repr.createparameter("cs",200, ,255)
repr("as") = request.form("codigo")
repr("cs") = request.form("nombre")
repr.execute
%>
Alguien podría decirme como soluciono ese problemilla sin cambiar el campo texto en la base de datos?
Habrá necesidad depasar el campo en la base de datos a numerico.......?
Agradezco me colaboren con esto
  #2 (permalink)  
Antiguo 02/07/2002, 00:54
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Ayuda con base de datos

hola,

creo que te complicas más de la cuenta, el campo código debería ser Autonumérico (si trabajas con Access, o tener marcada la casillade "identity" en SQL server.

De esta forma el código se incrementará en la bd sin necesidad de gastar scripts ASP.

Es muy complicado que cambies esté campo?? me parece lo + recomendable.

Saludos
  #3 (permalink)  
Antiguo 02/07/2002, 01:21
 
Fecha de Ingreso: mayo-2002
Mensajes: 91
Antigüedad: 22 años
Puntos: 0
Re: Ayuda con base de datos

Gracias Matias

Pero tengo el siguiente problema con los campos autonumericos de access

Cuando incluyo varios cargos, digamos unos 8 cargos en la tabla cargos, y al eliminarlos cuand vuelvo a incluir un nuevo cargo inicia con el código numero 9 así no haya ninguno antes y necesito que los vuelva a colocar desde el número 1

Sería entonces dejar el campo como numérico y no como autonumérico??

  #4 (permalink)  
Antiguo 02/07/2002, 02:11
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Ayuda con base de datos

hola :) , si mucho problema que se salten números puedes hacer lo siguiente:
no estoy seguro si con access funcione, pero con SQL Server, se puede "engañar" a la bd para que no se salte los números:

Cambia en el diseño de la tabla de autonumérico a numérico o texto y guarda la tabla y ciérrala. Después vuelve a abrir en diseño la tabla y ponlo nuevamente en Autonumérico y ahora no se saltará los números :) . Pero habría que hacer ese proceso cada vez que se borra un registro.

Bueno si ya eso no sirve habría que pensar en hacer un script en ASP, pero para eso ya estoy con mucho sueño, mañana veo si me resulta algo si todavía lo necesitas.

Saludos
  #5 (permalink)  
Antiguo 02/07/2002, 07:45
 
Fecha de Ingreso: mayo-2002
Mensajes: 91
Antigüedad: 22 años
Puntos: 0
Re: Ayuda con base de datos

Matias

Ese es el problema que se me está presentando, ya que puedo engañar la base de datos, quien va a hacer los cambios no la puede engañar, ya que cuando desee borrar todos los registros, tendría que hacer lo mismo todas las veces, es por ello que hice el codigo para incrementar el contador, despues que tome el maximo valor del codigo lo incremente en 1

El problema está en que los campos los había dejado tipo texto pensando que no había problema,..... el problema es que al llegar al registro número 10 el contador no sigue sumando, se queda en 10, tuve que cambiar el campo por nummérico y hacer lo mismo con el resto de las tablas... :cantar:
Queria encontrar una forma mas facil, pero creo que tengo que seguir en esas, si me dieras la idea de una mas facil te lo agradezco ;)

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.
Respuesta




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