Jump to content

Recommended Posts

Posted

Eu estou a tentar fazer a ligaço a base de dados, mas está me a dar erro na parte do Classe.ligacao.open(), diz " nullreferenceexception was unhandled by user code" e este é o codigo. A string de conexão está declarada na Classe

Imports System.Data.SqlClient
Public Class PaginaLogin
   Inherits System.Web.UI.Page
   Dim Classe As ClassAcesso

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    lblTurma.Visible = False
    lblPass.Visible = False
    lblUser.Visible = False
    txbPass.Visible = False
    txbUser.Visible = False
    tbxTurma.Visible = False
    Label1.Visible = False
    btnLogin.Visible = False

   End Sub
   Private Sub Ddl_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles Ddl.SelectedIndexChanged

   End Sub
   'Contralo as lbls e txtb a serem activadas concuante o acesso
   Public Sub ControlarLbl()
    If Ddl.SelectedItem.Value = 0 Then
	    lblPass.Visible = True
	    lblTurma.Visible = True
	    lblUser.Visible = True
	    txbPass.Visible = True
	    txbUser.Visible = True
	    Label1.Visible = True
	    btnLogin.Visible = True
	    tbxTurma.Visible = True
    Else
	    lblPass.Visible = True
	    lblTurma.Visible = False
	    lblUser.Visible = True
	    txbPass.Visible = True
	    txbUser.Visible = True
	    tbxTurma.Visible = False
	    Label1.Visible = False
	    btnLogin.Visible = True
    End If
   End Sub
   Private Sub btnLogin_Click(sender As Object, e As System.EventArgs) Handles btnLogin.Click
    Classe.ligacao.Open()
    Dim RegistoDados As SqlDataReader
    If Ddl.SelectedValue = 0 Or Ddl.SelectedValue = 1 Then

	    Dim queryDadosProf As New SqlCommand("SELECT * FROM Professores WHERE CCProf ='" & txbUser.Text & "' and NIFProf = '" & txbPass.Text & "'", Classe.ligacao)
	    RegistoDados = queryDadosProf.ExecuteReader
	    While (RegistoDados.Read())
		    Classe.codProf = RegistoDados(0)
		    Classe.nomeProf = RegistoDados(1)
		    Classe.emailProf = RegistoDados(4)
		    Classe.CCProf = RegistoDados(5)
		    Classe.NIFProf = RegistoDados(6)
	    End While
	    MsgBox(Classe.codProf)
	    MsgBox(Classe.nomeProf)
	    MsgBox(Classe.emailProf)
	    MsgBox(Classe.CCProf)
	    MsgBox(Classe.NIFProf)
    ElseIf Ddl.SelectedValue = 2 Then
	    MsgBox("Aluno1")
	    Dim queryDadosAluno As New SqlCommand("SELECT * FROM ALUNOS WHERE NumProcesso ='" & txbUser.Text & "' and CCAluno = '" & txbPass.Text & "'", Classe.ligacao)
    Else
	    MsgBox("1")
    End If
    Classe.ligacao.Close()
   End Sub
End Class
Posted

A unica coisa atribuída ao objecto ligação é o caminho que está na classe da seguinte forma:

Public ligacao As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Jorge\Desktop\PAPWEB\PAPWEB\bin\PAPSQL_DADOS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")

e depois declarei como pode ver no código do post anterior tenho a variavel Classe declarada como ClassAcesso que é o nome da Class on está declarada a ligacao

Posted

Afinal agora dá me o seguinte erro" Cannot open user default database. Login failed.

Login failed for user 'Jorge-PC\Jorge'."

Esse utilizador não deve ter acesso à base de dados.

É normal ter uma query que no sql me devolve o valor que quero e no aspx essa mesma query devolva -1?

Os queries não devem estar a ser executados nas mesmas condições ou estás a ler o valor incorrectamente

Já agora, na connectionstring não devia ter lá o nome da base de dados?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.