Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas con Parametros de Retorno

Estas en el tema de Problemas con Parametros de Retorno en el foro de .NET en Foros del Web. Holas. Mi problema es este..tengo una plicacion en asp.net pero utilizo el vb para hacer mi codigo. El aspx tiene 2 text box uno es ...
  #1 (permalink)  
Antiguo 07/08/2006, 14:31
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 23 años, 2 meses
Puntos: 0
Sonrisa Problemas con Parametros de Retorno

Holas.
Mi problema es este..tengo una plicacion en asp.net pero utilizo el vb para hacer mi codigo.
El aspx tiene 2 text box uno es usuario y el otro password.
En mi base de datos tengo ya la tabla y tengo un solo usuario con su password.
El problema surge cuando al esperar la respuesta de si es usuario o no siempre responde igual. No si es el codigo o el store procedure.
Envio ambos a ver si me pueden ayudar.
Gracias


STORE PROCEDURE

ALTER Procedure PR00001
(
@Usuario varchar(50),
@UPassword varchar(50),
@Resultado varchar(50) output
)
as
Select
@Usuario = Usuario
from
tblUsuario
Where
(tblUsuario.UPassword = @UPassword)
/* ---------------------------------------------------------------------------- */
If @Usuario is Empty
set @Resultado = 'No Existe'

Else
set @Resultado = 'Existe'



CODIGO VB.net

Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page



Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oConn As String
oConn = "Server=LMuro; DataBase= PruebaWeb; Integrated Security = SSPI"
Dim SqlConn As New SqlConnection(oConn)
Dim Command As New SqlCommand

Command.CommandText = "PR00001"
Command.CommandType = CommandType.StoredProcedure
Command.Connection = SqlConn
SqlConn.Open()
Dim Usuario As New SqlParameter("@Usuario", SqlDbType.VarChar, 50)
Usuario.Direction = ParameterDirection.Input
Command.Parameters.Add(Usuario)
Command.Parameters("@Usuario").Value = txtUsuario.Text

Dim Password As New SqlParameter("@UPassword", SqlDbType.VarChar, 50)
Password.Direction = ParameterDirection.Input
Command.Parameters.Add(Password)
Command.Parameters("@UPassword").Value = txtPassword.Text

Dim Resultado As New SqlParameter("@Resultado", SqlDbType.VarChar, 50)
Resultado.Direction = ParameterDirection.Output
Command.Parameters.Add(Resultado)



Command.ExecuteNonQuery()
txtAprueba.Text = Command.Parameters("@Resultado").Value
SqlConn.Close()


End Sub
End Class


Muchas Gracias
  #2 (permalink)  
Antiguo 07/08/2006, 14:32
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 23 años, 2 meses
Puntos: 0
FE DE ERRATAS ...En el codigo del Store procedure..en vez del EMPTY..es NULL

..igual no funciona :(

Gracias
  #3 (permalink)  
Antiguo 07/08/2006, 15:19
 
Fecha de Ingreso: julio-2005
Ubicación: México, ciuudad de Guanajuato
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Por que no intetas esto en tu SP


Cita:
CREATE Procedure PR00001
@UPassword varchar(50),
@Resultado varchar(50) output
as
BEGIN

DECLARE @Usuario as varchar(50)
SELECT @Usuario =''

Select @Usuario = Usuario from tblUsuario
Where UPassword = @UPassword

If @Usuario is null
begin
set @Resultado = 'No Existe'
end
Else
begin
set @Resultado = 'Existe'
end
END
__________________
Hay que echar desman ,,,, Mientras se pueda:-D
  #4 (permalink)  
Antiguo 07/08/2006, 20:10
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 19 años
Puntos: 0
ambos procedimientos estan mal. que pasa si 2 usuarios tienen la misma contrasenha
ALTER Procedure PR00001
(
@Usuario varchar(50),
@UPassword varchar(50),
@Resultado varchar(50) output
)
as
If not exists(Select
usuario
from
tblUsuario
Where
tblUsuario.UPassword = @UPassword and @Usuario = Usuario)
set @Resultado = 'No Existe'

Else
set @Resultado = 'Existe'
  #5 (permalink)  
Antiguo 05/09/2006, 17:13
Avatar de SeriketZu  
Fecha de Ingreso: septiembre-2006
Ubicación: Mendoza, Argentina
Mensajes: 78
Antigüedad: 18 años, 5 meses
Puntos: 0
El problema está en:

Command.ExecuteNonQuery()

en realidad podrías devolver 1 o 0 (existe y no respectivamente) y utilizar:

variable=Command.ExecuteScalar()

Otra cosa, el SqlConn.Open() lo puedes abrir justo antes del Command.Execute, no es necesario que la conexión esté abierta para declarar los parámetros del sqlcommand.
  #6 (permalink)  
Antiguo 05/09/2006, 17:27
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años, 2 meses
Puntos: 38
no veo ningun problema en el executenonquery...
creo que el sp es el que esta echando mosca... voto por el sp de foo...
si el error persiste seria bueno si no se tiene el campo como nvarchar y se grabo el registro con espacios...
seria hacerle trims en VB y rtrims en sql... por si acaso...
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 12:47.