Erro no SELECT dto
public UsuarioDTO Find2(string Login, string Senha)
{
try
{ AbrirConexao();
Cmd = new SqlCommand("select * from Usuario where Login = @p1 and Senha = @p2", Con);
Cmd.Parameters.AddWithValue("@p1", Login);
Cmd.Parameters.AddWithValue("@p2", Senha);
Dr = Cmd.ExecuteReader();
UsuarioDTO dto = null;
if (Dr.Read())
{
Usuario usu = new Usuario();
if (usu != null)
{
dto = new UsuarioDTO();
dto.Nome = usu.Nome;
dto.Login = usu.Login;
dto.Perfil = usu.Perfil.IdPerfil;
}
else { }
}
return dto;
}
catch
{
throw;
}
finally { FecharConexao(); }
}
Toda vez que eu executo esse trecho quando chega na parte que o dto que precisa pegar os valores de usu da erro e nao consigo atribuir os valores.
Alguem sabe onde estou errando?
{
try
{ AbrirConexao();
Cmd = new SqlCommand("select * from Usuario where Login = @p1 and Senha = @p2", Con);
Cmd.Parameters.AddWithValue("@p1", Login);
Cmd.Parameters.AddWithValue("@p2", Senha);
Dr = Cmd.ExecuteReader();
UsuarioDTO dto = null;
if (Dr.Read())
{
Usuario usu = new Usuario();
if (usu != null)
{
dto = new UsuarioDTO();
dto.Nome = usu.Nome;
dto.Login = usu.Login;
dto.Perfil = usu.Perfil.IdPerfil;
}
else { }
}
return dto;
}
catch
{
throw;
}
finally { FecharConexao(); }
}
Toda vez que eu executo esse trecho quando chega na parte que o dto que precisa pegar os valores de usu da erro e nao consigo atribuir os valores.
Alguem sabe onde estou errando?
Davi Maciel
Curtidas 0
Respostas
Soeuseijothaz
10/03/2015
Sempre que você postar um trecho de código use as TAG`S </> para formatá-lo, fica muito mais fácil a leitura e a ajuda.
Qual erro retorna?
Tenta debugar, dê um F9 na linha Dr = Cmd.ExecuteReader(); marque um breakpoint e veja qual o conteúdo retornado.
public UsuarioDTO Find2(string Login, string Senha) { try { AbrirConexao(); Cmd = new SqlCommand("select * from Usuario where Login = @p1 and Senha = @p2", Con); Cmd.Parameters.AddWithValue("@p1", Login); Cmd.Parameters.AddWithValue("@p2", Senha); Dr = Cmd.ExecuteReader(); UsuarioDTO dto = null; if (Dr.Read()) { Usuario usu = new Usuario(); if (usu != null) { dto = new UsuarioDTO(); dto.Nome = usu.Nome; dto.Login = usu.Login; dto.Perfil = usu.Perfil.IdPerfil; } else { } } return dto; } catch { throw; } finally { FecharConexao(); } }
Qual erro retorna?
Tenta debugar, dê um F9 na linha Dr = Cmd.ExecuteReader(); marque um breakpoint e veja qual o conteúdo retornado.
GOSTEI 0
Davi Maciel
10/03/2015
try { AbrirConexao(); Cmd = new SqlCommand("SELECT * FROM Usuario WHERE Login = @p1 AND Senha = @p2", Con); Cmd.Parameters.AddWithValue("@p1", Login); Cmd.Parameters.AddWithValue("@p2", Senha); Dr = Cmd.ExecuteReader(); UsuarioDTO dto = null; if (Dr.Read()) { Usuario usu = new Usuario(); if (usu != null) { dto = new UsuarioDTO(); dto.Login = Convert.ToString(Dr["Login"]); dto.Nome = Convert.ToString(Dr["Nome"]); dto.Perfil = Convert.ToInt32(Dr["IdPerfil"]); } } return dto; }
Consegui resolver da seguinte maneira adicionando o conteúdo do DataReader na minha dto(Data Transfer Object ).
Ai funcionou... valeu a atenção.
GOSTEI 0