Ir para conteúdo
Fórum Script Brasil

ONon

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre ONon

ONon's Achievements

0

Reputação

  1. Valeu, quintelab! Dessa vez ajudou, e muito! Mesmo não sendo exatamente o que eu precisava, me deu a base para criar meu login! Desculpa a demora na resposta, é que eu andei meio ocupado essa ultima semana... Muito Grato, ONon
  2. quintelab, eu olhei este artigo, porém ele não me ajudou muito, pois trata-se de um código em C#, e estou utilizando VB, e mesmo assim eu não conheço nada de C# para tentar adaptar o código... Mas mesmo assim, muito obrigado pela atenção. ONon
  3. Olá pessoal! Estou tendo problemas na criação do login para meu sistema. É o seguinte: eu gostaria que me dessem dicas de como fazer um sistema de login em ASP.NET via VB utilizando uma tabela de banco de dados em SQL Server. A tabela já existe. Ela tem as colunas: COD_LOGIN, USUARIO, SENHA e TIPO sendo o ultimo um identificador que, ao efetuar o login, redireciona o usuário à página correspondente ao seu tipo. Primeiro eu tentei utilizar o objeto Login do ASP.NET, mas pelo que eu vi, só se pode utilizá-lo com o sistema de login usando a ferramenta de administração do ASP.NET, o que não é possível no meu caso. Então eu criei dois TextBox, um Button e um SqlDataSource para criar o login manualmente. No código do Button eu tentei um If bem doido usando SqlDataSource.Select(), mais ou menos assim: Dim cmnd As String Dim tipo as String cmnd = "SELECT USUARIO FROM LOGIN WHERE USUARIO = '" & txtUser.Text & "'" SqlDataSource1.SelectCommand = cmnd IF SqlDataSource1.Select() Then cmnd = "SELECT SENHA FROM LOGIN WHERE USUARIO = '" & txtUser.Text & "'" SqlDataSource1.SelectCommand = cmnd IF txtPW.Text = SqlDataSource1.Select() Then cmnd = "SELECT TIPO FROM LOGIN WHERE USUARIO = '" & txtUser.Text & "'" SqlDataSource1.SelectCommand = cmnd tipo = SqlDataSource1.Select() Select Case tipo Case "A" 'Redireciona para página do Administrador Case "P" 'Redireciona para página do Professor Case "L" 'Redireciona para página do Aluno End Select Else MsgBox("Senha Errada") 'somente exemplo, depois eu coloco algo melhor End IF Else MsgBox("Usuario Errado") End IF Porém ele fica pedindo argumentos nos SqlDataSource1.Select() que não faço idéia de quais sejam, e acredito que não seja o SqlDataSource1.Select() que eu devo utilizar... Gostaria de resolver este meu probleminha, mesmo acreditando que o código correto não tenha nada a ver com este aí. Além disso eu preciso de um sistema de segurança que impeça um usuário de acessar uma página que não deveria. Imagino que isto seja feito com cookies, mas não faço a menor idéia de como implantar isso. Se puderem me indicar algum lugar com um bom tutorial sobre isso, eu agradeço, pois não consigo encontrar em lugar nenhum. Agradeço desde já ONon. ps.: Como eu redireciono para outra página pelo VB? pps.: Estou utilizando ASP.NET em VB no Visual Studio 2008, banco de dados SQL Server 2005
  4. Cara, valeu, ajudou pra caramba! Meu projeto estava praticamente parado por causa deste problema... No caso, o COD_LOGIN é identify sim, mas em outra tabela, e estou fazendo as conexões entre as tabelas apenas pelo código, por isso utilizei o primeiro INSERT que você mandou e funcionou direitinho! Muito obrigado! ONon
  5. Olá pessoal! Sou novo no fórum, e, como muita gente, estou iniciando com uma dúvida =P O engraçado sobre meu problema é que, ou ele é muito idiota, ou eu brisei legal na hora de desenvolver meu banco de dados, pois não consigo achar uma resposta para ele em lugar nenhum. Eu imagino que alguns de vocês irão achar que estou postando minha dúvida na parte errada do fórum, pois trata-se de um programa em ASP.NET, porém o problema está mesmo nos códigos SQL... Em 1º lugar: Tenho 3 tabelas: LOGIN, ALUNO e TUR_ALU, sendo que LOGIN guarda as informações do login de todos usuários (que no caso incluem professores e administradores, mas resolvendo o caso dos alunos o resto fica muito fácil), contendo as colunas: COD_LOGIN, Integer Identity; USUARIO, varchar(10); SENHA, varchar(8) e TIPO, varchar(1). A tabela aluno tem as colunas: COD_ALU, integer identity; COD_LOGIN, integer (FK via programa); NOME_ALU, varchar(45) e EMAIL_ALU, varchar(55). E a tabela TUR_ALU, que é de ligaçao entre ALUNO e uma outra tabela de TURMA, que contem as colunas: COD_ALU, integer (FK via programa); COD_TUR, integer (FK via programa) e NUM_ALU, integer identity. 2º: Eu fiz apenas uma página para todas estas informações, e tentei fazer os INSERT de diversas maneiras, pois o funcionamento é o seguinte: primeiro o programa insere o login e a senha do aluno na tabela LOGIN, criando o COD_LOGIN. então o programa insere o nome, o email e o codigo de login (COD_LOGIN) do aluno na tabela LOGIN, e depois insere na tabela TUR_ALU o COD_ALU e o COD_TUR(já existente em outra tabela). Meu problema é o seguinte: eu tentei de inúmeros meios adicionar o COD_LOGIN recém criado na tabela ALUNO junto dos outros valores, e o meio que imaginei ser o mais correto é: "INSERT INTO ALUNO(COD_LOGIN, NOME_ALU, EMAIL_ALU) VALUES((SELECT MAX(COD_LOGIN) FROM LOGIN), '" & txtNome.Text & "', '" & txtEmail.Text & "')" porém o debug reclama que não pode haver uma subquery neste caso... então resolvi o problema removendo a propriedade NOT NULL do NOME_ALU e do EMAIL_ALU, e dividindo o INSERT em um INSERT e um UPDATE: "INSERT INTO ALUNO(COD_LOGIN) SELECT MAX(COD_LOGIN) FROM LOGIN" "UPDATE ALUNO SET NOME_ALU = '" & txtNome.Text & "', EMAIL_ALU = '" & txtEmail.Text & "' WHERE (COD_ALU = (SELECT MAX(COD_ALU) AS Expr1 FROM ALUNO AS ALUNO_1))" Problema resolvido, certo? Bem, em parte... Eis que chega a parte de inserir COD_ALU e COD_TUR em TUR_ALU... Tentei utilizar o mesmo método que utilizei na tabela ALUNO, porém isso é impossível, pois se trata de uma chave concatenada, ou seja, não dá para tornar nenhum dos valores NOT NULL Contada minha historinha, lhes pergunto: Como faço para incluir em um INSERT um SELECT & outros valores? Obrigado antecipadamente, ONon
×
×
  • Criar Novo...