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

Como insreto datos despues de una consulta

Estas en el tema de Como insreto datos despues de una consulta en el foro de ASP Clásico en Foros del Web. Hol@ much@chos como estan? Oigan pues kisiera saber como puedo solucionar lo siguiente......Tego 1 pagina ASP la cual por medio de un combo me salen ...
  #1 (permalink)  
Antiguo 19/04/2007, 08:50
 
Fecha de Ingreso: febrero-2007
Mensajes: 78
Antigüedad: 18 años, 2 meses
Puntos: 0
Como insreto datos despues de una consulta

Hol@ much@chos como estan?

Oigan pues kisiera saber como puedo solucionar lo siguiente......Tego 1 pagina ASP la cual por medio de un combo me salen los diversos puestos que existen en una compañia......tales puestos me los trae de un recordset....ya que stan en una tabla de una base de datos de SQL........esta misma pagina tiene un boton de mostrar. Dicho boton manda llamar otra pagina la cual debe mostrar el nombre, apellido paterno y apellido_materno de la persona que esta asignada en ese puesto...dicha informacion esta en otra tabla de la misma base de datos y la relaciona el id_puesto....pero mi problema es que no me aparece o mas bien no me jala nada de la informacion de los nombres

PAGINA 1......ME LLENA PERFECAMENTE EL COMBO

Código HTML:
<%
dim strconn
strconn = "Driver={SQL Server};Description=sqldemo;SERVER=(local); UID=sa;PWD=sa;DATABASE=examen"
set conn = server.createobject("adodb.connection")
conn.open strconn
%>

<form action="pruebaer2.asp"  method="post" enctype="multipart/form-data" name="formulario" id="formulario" > 
 <%
set rs_puesto = server.createobject("adodb.recordset")
	sql= "select * from PUESTO"
	rs_puesto.open  sql, conn

%>
<select name="id_puesto" id="id_puesto"    onchange="puesto.value = this.value">
    
    <%
while rs_puesto.eof=false
%>
    
    <option value="<%=rs_puesto.fields ("id_puesto")%>"><%=rs_puesto.fields ("puesto")%></option>
    <%
rs_puesto.movenext
wend
%>
  </select> 
PAGINA 2.....

Código HTML:
<%
id_pto= request.Form("id_puesto")
%>

<%
dim strconn
strconn = "Driver={SQL Server};Description=sqldemo;SERVER=(local); UID=sa;PWD=sa;DATABASE=examen"
set conn = server.createobject("adodb.connection")
conn.open strconn
%>

<input type="hidden" name="id_concepto" value="<%=id_puesto%>" />
  
<%
set rs_usu = server.CreateObject("adodb.recordset")
sql = "select * from usuario"
rs_usu.open sql, conn
%>

 <%				
	 do while (not rs_usu.eof)
		if trim (id_puesto )= trim (rs_usu.fields("id_puesto")) then
				
			nombre= rs_usu.fields("nombre")
			apellido_paterno=rs_usu.fields ("apellido_paterno")
			apellido_materno=rs_usu.fields ("apellido_materno")											
		end if	
			'exit while				
			rs_usu.movenext
		
	loop
%>
<input id="txt_concepto" name="txt_concepto" class="MainLinks"  tabindex="3" size="15"  value="<%=nombre%>" />
  <p> <input name="APAt" id="APAt"  size="25" value="<%=apellido_paterno%>">
<input name="AMat" id="AMat" value="<%=apellido_materno%>" size="25" >

<%
		
rs_usu= close
conn.Close
set conn=nothing
%> 
  #2 (permalink)  
Antiguo 19/04/2007, 14:56
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como insreto datos despues de una consulta

algunos puntos a tratar en tus páginas:
(página 1)
  • Si únicamente vas a utilizar el id_puesto y el puesto en tu query no hagas un select * te recomiendo hacer un select id_puesto, puesto from.... y aunque te llene perfectamente bien el combo el motor de la base de datos trabaja el doble de lo que debería trabajar y eso afecta en el performance.
  • ¿que es puesto?

(Página 2)
  • Tu instrucción select * cambialo a SELECT campo1, campo2, ... etc...
  • tu query hace un barrido secuencial a toda la tabla usuarios, en este caso me imagino que la tabla tiene poca información por lo que no te va a afectar mucho, sin embargo si esa suele ser tu metodología vas a tener problemas muy serios de recupero de información, te recomiendo poner dentro de tu query la cláusula WHERE id_puesto = id_pto, de esa manera no tienes que recorrer todos los registros y estar preguntando uno por uno el resultado que te arroja para saber si cumple o no una condición, simplemente recupera sólo el registro que necesitas.

<%
sql = "select apellido_paterno, apellido_materno, nombre from usuario where id_puesto=" & id_pto
rs_usu.open sql, conn
if not rs_usu.eof then %>
<input id="txt_concepto" name="txt_concepto" class="MainLinks" tabindex="3" size="15" value=<%=rs_usu.fields("nombre")%>>
<br>
<input name="APAt" id="APAt" size="25" value=<%=rs_usu.fields("apellido_paterno")%>>
<br>
<input name="AMat" id="AMat" size="25" value=<%=rs_usu.fields ("apellido_materno")%>>
<% rs_usu.close
end if
conn.Close
set rs_usu = nothing
set conn = nothing
%>
<br>
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 16:37.