Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/05/2011, 01:55
Avatar de Joch_pa
Joch_pa
 
Fecha de Ingreso: octubre-2009
Ubicación: Pachuca De Soto, Hidalgo, Mexico, Mexico
Mensajes: 122
Antigüedad: 15 años, 2 meses
Puntos: 7
Respuesta: Insertar datos de usuaros desde ASP a una Tabla de usuarios en SQL

como sugerencia y un poco de seguridad, utiliza el envio de los datos por el form

<form name="x" method="post">

y recuperalos por request.form

y en tu SP agrega o modifica con algo asi para la validacion del rut


Código SQL:
Ver original
  1. ALTER PROCEDURE dbo.InsAltaUsuarios
  2.      @Rut nvarchar(50)
  3.     , @Dv nvarchar(50)
  4.     , @SGA nvarchar(255)
  5.     , @Nombre nvarchar(255)
  6.     , @Supervisor nvarchar(255)
  7.     , @Plataforma nvarchar(255)
  8.     , @Password nvarchar(10)
  9. AS
  10.  
  11. IF EXISTS(SELECT rut FROM usuarios WHERE rut=@Rut)
  12. BEGIN
  13.       --rut repetido
  14.       SELECT 'rut repetido'
  15. END
  16. ELSE
  17. BEGIN
  18.       --rut nuevo
  19.      INSERT INTO usuarios
  20.               (RUT,DV,SGA,NOMBRE,SUPERVISOR,PLATAFORMA,P ASSWORD)
  21.      VALUES
  22.               (@Rut,@Dv,@SGA,@Nombre,@Supervisor,@Plataforma,@Password )
  23.      SELECT @Password
  24. END
  25.  
  26. GO
ya con eso, en tu ASP modificarlo mas o menos asi

Código ASP:
Ver original
  1. rut = request.Form("Usuarios")
  2. Dv = request.Form("DV")
  3. Nombre = request.form("nombre")
  4. SGA = request.form("sga")
  5. Supervisor = request.form("supervisor")
  6. Plataforma = request.form("plataforma")
  7.  
  8. if rut<>"" and Dv<>"" then
  9.     pass = generapass()
  10.     set cmd= server.CreateObject("ADODB.recordset")
  11.     strSQL = "exec InsAltaUsuarios '" & rut & "','" & Dv & "','" & SGA & "','" & Nombre & "','" & Supervisor & "','" & Plataforma & "','" & pass
  12.     cmd.open strSQL , cnn
  13.     if not cmd.eof then
  14.         regresa = cmd(0)
  15.         if regresa = "rut repetido" then
  16.             'rut repetido, mostrar que esta repetido
  17.             response.Write "El rut esta repetido, favor de reintentar"
  18.         else
  19.             'se inserto el rut, mostrar el pass generado
  20.             response.Write "insercion correcta, el pass es : " & regresa
  21.         end if
  22.     end if
  23. end if


recuerda que los parametros pasados el SP, deben de ir en el mismo orden en el que son declarados y sin omitir alguno, si alguna variable se viene vacia, lo tienes que validar antes de abrir el cmd, para que no te genere error.

la funcion generapass() la tienes que generar tu.

espero te halla ayudado un poco, si tienes problemas postealos en este mismo post