Usuário com melhor resposta
Ajuda Duvida sobre stored procedures com C#

Pergunta
-
Code Snippet
Olá!
Desde já o meu muito obrigado por me receberem bem.
Vou colacar a minha primeira duvida neste forum
Estou a desenvolver um pequeno prototipo que visa efectuar a autenticação de utilizadores (usuários) atraves de login e password.
Tenho na base (banco) de dados (SQLSERVER 2005) uma tabela onde guardo os utilizadores. A tabela tem os seguintes campos Username, Passwordhash, Email.
Estou a utilizar plataforma .NET 2005 a lingugem é C# com stored procedures.
A ideia é saber se um utilizador (usuário) já existe na base de dados.
Para isso eu desnvolvi um stored procedure que é o seguinte
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Pesquisa_user]
-- Add the parameters for the stored procedure here
@Username nvarchar(128),
@Passwordhash varchar(128),
@Email nchar(10)
AS
-- Insert statements for procedure here
SELECT Username FROM Users WHERE Username = @Username
Estou a desenvolver também um método (PesquisaUser) em C# (na Class User.cs) que deve devolver um valor booleano caso o utilizador exista ou não
Por exemplo deve devolver true (verdade) se o utilizador existir ou deve devolver false (falso) se o utilizador não existir.
O método é o seguinte
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
/// <summary>
/// Summary description for User
/// </summary>
///
namespace iDomus.DAL.GRE.Projectos
{
public class User
{
public User()
{
//
// TODO: Add constructor logic here
//
}
public Boolean PesquisaUser(DbConnection conexao, String usrname, String pwduser, String usermail)
{
DbCommand comando = conexao.CreateCommand();
comando.CommandText = "Pesquisa_user";//Nome do stored procedure
comando.CommandType = CommandType.StoredProcedure;
DbParameter parametro1 = comando.CreateParameter();
parametro1.ParameterName = "Username";//nome da coluna da tabela (campo)
parametro1.DbType = DbType.String;// Tipo de dados
parametro1.Value = usrname;// valor a passar para o stored procedure
comando.Parameters.Add(parametro1);
DbParameter parametro2 = comando.CreateParameter();
parametro2.ParameterName = "Passwordhash";
parametro2.DbType = DbType.String;
parametro2.Value = pwduser;
comando.Parameters.Add(parametro2);
DbParameter parametro3 = comando.CreateParameter();
parametro3.ParameterName = "Email";
parametro3.DbType = DbType.String;
parametro3.Value = usermail;
comando.Parameters.Add(parametro3);
DbDataReader leitor = comando.ExecuteReader();
}
}
}
O problema agora é que não sei efectuar o teste para a devolução do valor booleano, que penso que deve ser após o execute reader.
Como ainda estou a iniciar na linguagem C# e utilização stored procedures não tenho bem a certeza se estou a fazer bem.
Se me poderem ajudar a completar este pequeno prototipo agradecia
Alves
Respostas
Todas as Respostas
-
-
Olá Daniel Bragagnolo...! Muito obrigado por responder ao meu pedido de ajuda... Sim era isto mesmo...
O meu pedido de desculpas pelo atraso no agradecimento... Mas como eu fiz pedido em maio e a resposta tardou um pouco pensei que ninguém ía responder acabei por "desistir" de consultar o meu post...
De qualquer forma muito obrigado e mais uma vez desculpa o atraso no agradecimento
Obrigado
Alves -