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

Como capturo dato autogenerado al grabar Recordset

Estas en el tema de Como capturo dato autogenerado al grabar Recordset en el foro de ASP Clásico en Foros del Web. Señores: tengo una tabla PAIS, con los campos: - nombre (tipo texto) - poblacion (tipo texto) - idioma (tipo texto) - CodigoPais (autonumerico) Los datos ...
  #1 (permalink)  
Antiguo 18/12/2003, 18:42
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 21 años, 4 meses
Puntos: 0
Como capturo dato autogenerado al grabar Recordset

Señores:

tengo una tabla PAIS, con los campos:
- nombre (tipo texto)
- poblacion (tipo texto)
- idioma (tipo texto)
- CodigoPais (autonumerico)

Los datos para Poblacion, Idioma y Codigo los capturo del formulario. Pero Codigo se autogenera al registrar un nuevo registro.
Lo que yo deseo es saber como capturar este dato (CodigoPais)

Aqui envio parte del codigo escrito:

' verifico si ya esta registrado o no PAIS
sSQL="SELECT * FROM Pais WHERE (NombrePais='"&pNomPais&"');"
'Ejecutamos la consulta
set RS=conn.Execute(sSQL)

if not RS.EOF then
Response.Write "El pais ya fue ingresado. "
Response.Write "Por favor, escoja otro."

else
'le insertamos en la bd
sSQL="INSERT INTO Pais " & "(Nombre, Poblacion, Idioma)"
sSQL=sSQL & " VALUES ('"&pNomPais&"', '"&pPobPais &"', '"&pIdiomaPais &"')"
conn.Execute(sSQL)
end if

-------

Mi pregunta es ¿como hago para capturar el Campo CodigoPais(autogenerado) del recordset que se acaba de grabar ?

Les agradeceré mucho su ayuda

Franco
  #2 (permalink)  
Antiguo 18/12/2003, 19:11
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 23 años, 3 meses
Puntos: 6
hola en esta segunda consulta que es donde obtendrias los datos del ( codigo de pais no creas ningun recordset )
else
'le insertamos en la bd
sSQL="INSERT INTO Pais " & "(Nombre, Poblacion, Idioma)"
sSQL=sSQL & " VALUES ('"&pNomPais&"', '"&pPobPais &"', '"&pIdiomaPais &"')"
conn.Execute(sSQL)
end if

----------------
en la primera consulta si lo creas lo que quiere decir que
set RS=conn.Execute(sSQL)

o
---------------
CodigoPais=rs("CodigoPais")+1

o creas un nuevo recorset o registro como hiciste anteriormente

saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #3 (permalink)  
Antiguo 18/12/2003, 19:51
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola Gurrutello:

No entendi bien como implementarlo en los casos que mencionas (pudieras decirme como seria expresado en codigo please)

Sobre la ultima solucion que mencionas, de aumentar en 1 al codigoPais, ok..eso seria si es el sistema genera numeros consecutivos para el codigo, pero y si genera numeros aleatorios?

Gracias nuevamente por tu tiempo en responder esta consulta

Franco
  #4 (permalink)  
Antiguo 18/12/2003, 20:45
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 23 años, 3 meses
Puntos: 6
hola seria algo asi
' verifico si ya esta registrado o no PAIS
sSQL="SELECT * FROM Pais WHERE (NombrePais='"&pNomPais&"');"
'Ejecutamos la consulta
set RS=conn.Execute(sSQL)

if not RS.EOF then
Response.Write "El pais ya fue ingresado. "
Response.Write "Por favor, escoja otro."

else
'le insertamos en la bd
sSQL="INSERT INTO Pais " & "(Nombre, Poblacion, Idioma)"
sSQL=sSQL & " VALUES ('"&pNomPais&"', '"&pPobPais &"', '"&pIdiomaPais &"')"
set RS=conn.Execute(sSQL)
end if

En la segunda consulta no creas ningun recordset o consulta ( en tu caso rs )
si no creas esta rs no podras llamarla de ninguna forma
saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
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 01:44.