Recuperar Output varchar desde SqlServer
Publicado por Erikson (1 intervención) el 06/11/2013 00:44:05
Hola:
Estoy realmente interesado en saber porque nadie tiene el mismo problema que yo ;)
Tengo un procedimiento almacenado:
que exactamente, me devolvera una respuesta en varchar diciendo si fue posible o no la actualizacion de la contraseña.
Aqui el codigo c sharp
Donde exactamente al recuperar el parametro, dice que hubo un error al convertir la exprecion de string a int, y logico que tiene que haber erro. PERO QUIEN MANDO A CONVERTIR???
Gustaria de recibir la respuesta sin problemas.
Gracias.
Estoy realmente interesado en saber porque nadie tiene el mismo problema que yo ;)
Tengo un procedimiento almacenado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Alter Proc UpdatePass
@User varchar(30),
@OldPass varchar(500),
@NewPass varchar(500)
--@Resp varchar(50) output
as
Begin
Declare @Resp varchar(50)
Declare @Id_User Int = (Select Tb_Usuario.Id_Usuario from Tb_Usuario Where Nome = @User)
Declare @Pass varchar(500) = (Select Tb_Usuario.Pass from Tb_Usuario Where Nome = @User)
If @Pass = @OldPass
begin
Update Tb_Usuario set Pass = @NewPass Where Nome = @User
Set @Resp = 'Senha actualizada com exito.'
end
Else
begin
Set @Resp = 'Senha actual errada, tente novamente.'
End
Return @Resp
End
que exactamente, me devolvera una respuesta en varchar diciendo si fue posible o no la actualizacion de la contraseña.
Aqui el codigo c sharp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using (SqlConnection SQLconn = new SqlConnection(CStr))
{
SqlCommand cmd = new SqlCommand("UpdatePass", SQLconn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter user = cmd.Parameters.Add("@User", SqlDbType.VarChar, 30);
user.Value = User;
SqlParameter oldpass = cmd.Parameters.Add("@OldPass", SqlDbType.VarChar, 500);
oldpass.Value = CE.Encriptar(OldPass);
SqlParameter newpass = cmd.Parameters.Add("@NewPass", SqlDbType.VarChar, 500);
newpass.Value = CE.Encriptar(NewPass);
SqlParameter resp = cmd.Parameters.Add("@Resp", SqlDbType.VarChar, 50);
resp.Direction = ParameterDirection.ReturnValue;
//SqlDataAdapter da = new SqlDataAdapter(cmd);
SQLconn.Open();
//da.
cmd.ExecuteScalar();
string TEst = cmd.Parameters["@Resp"].Value.ToString();
//string result = resp.Value.ToString();
SQLconn.Close();
SQLconn.Dispose();
Resp.Text = TEst;
Donde exactamente al recuperar el parametro, dice que hubo un error al convertir la exprecion de string a int, y logico que tiene que haber erro. PERO QUIEN MANDO A CONVERTIR???
Gustaria de recibir la respuesta sin problemas.
Gracias.
Valora esta pregunta
0