whize13 Posted May 27, 2014 at 10:53 AM Report #557086 Posted May 27, 2014 at 10:53 AM 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
nelsonr Posted May 27, 2014 at 11:04 AM Report #557088 Posted May 27, 2014 at 11:04 AM Atribuiste alguma coisa ao objecto ligacao?
whize13 Posted May 27, 2014 at 11:13 AM Author Report #557090 Posted May 27, 2014 at 11:13 AM 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
nelsonr Posted May 27, 2014 at 11:24 AM Report #557092 Posted May 27, 2014 at 11:24 AM Experimenta mudar Dim Classe As ClassAcesso para Dim Classe As New ClassAcesso
whize13 Posted May 27, 2014 at 01:43 PM Author Report #557123 Posted May 27, 2014 at 01:43 PM Assim já funciona, obrigado. Mas não entendi o porque deste erro.
whize13 Posted May 27, 2014 at 02:51 PM Author Report #557136 Posted May 27, 2014 at 02:51 PM Afinal agora dá me o seguinte erro" Cannot open user default database. Login failed. Login failed for user 'Jorge-PC\Jorge'."
whize13 Posted May 27, 2014 at 03:41 PM Author Report #557141 Posted May 27, 2014 at 03:41 PM É normal ter uma query que no sql me devolve o valor que quero e no aspx essa mesma query devolva -1?
nelsonr Posted May 27, 2014 at 03:45 PM Report #557142 Posted May 27, 2014 at 03:45 PM 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?
whize13 Posted May 27, 2014 at 04:17 PM Author Report #557145 Posted May 27, 2014 at 04:17 PM Já entendi o erro, é porque este trabalho é a 2 e quem fez a BD encriptou um dos campos e por isso não dava os valores que eu queria
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now