Domanda su come fare a crare un form di login!

mercoledì 04 novembre 2009 - 23.34

albertazzo Profilo | Newbie

ciao a tutti, sono nuovo del forum!
vorrei porvi il seguente dilemma che mi fa uscire pazzo!
ho creato un form (chiamiamolo form utente) con visual basic .net (visual studio 2008) e ho creato un datagrid su una tabella utenti.
da quel form autogenerato da visual basic, riesco ad aggiungere elementi nella tabella ....
fin qui facile!
adesso non so come da un altro form (form di login) andare a controllare un utente è creato o meno.
Quello che mi succede è questo:
dal form utente inserisco l'utente alberto e lo salvo
se adesso però apro il form login e faccio una query con il seguente codice:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim connetionString As String
Dim cnn As SqlConnection
Dim cmd As SqlCommand
Dim sql As String

connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
sql = "Your SQL Statement Here like Select Count(*) from product"

cnn = New SqlConnection(connetionString)
Try
cnn.Open()
cmd = New SqlCommand(sql, cnn)
Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
cmd.Dispose()
cnn.Close()
MsgBox(" No. of Rows " & count)
Catch ex As Exception
MsgBox("Can not open connection ! ")
End Try
End Sub


non si riesce a vedere i nuovi elementi aggiunti alla tabella dell'altro form!!!!
Dove sbaglio? Qualcuno può aiutarmi?

GRazie a tutti!

alexmed Profilo | Guru

Ciao

>dal form utente inserisco l'utente alberto e lo salvo
Come?

>sql = "Your SQL Statement Here like Select Count(*) from product"
Se l'utente nuovo lo salvi nella tabella utenti di sicuro non lo trovi nella tabella product.
E poi non mi è chiara la parte iniziale della stringa: Your SQL Statement Here like
Io la vedrei scritta così:
sql= "SELECT Count(*) FROM nome_tabella_utenti WHERE colonna_nome_utente = alberto"

Ciao

alexmed

albertazzo Profilo | Newbie

scusatemi, riporto esattamente il codice:

nel form di login quando premo il tasto accedi :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEnter.Click
Dim connetionString As String
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim sql As String

connetionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\utente\Documenti\Visual Studio 2008\Projects\progetto\database.mdf;Integrated Security=True;User Instance=True"
sql = "Select Count(id) from utenti where username='" & Me.TextBoxUser.Text & "' and password='" & Me.TextBoxPwd.Text & "'"

conn = New SqlConnection(connetionString)

Try
conn.Open()

Catch ex As SqlException
MsgBox("Non posso connettermi al database. Errore: " & ex.ToString())
Finally
cmd = New SqlCommand(sql, conn)
Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
cmd.Dispose()
conn.Close()
If (count = 1) Then
Me.Dispose()
Dim uF As New usersForm
uF.Show()
Else
MsgBox("Errore: username o password errati. " & count)
End If

End Try
End Sub

Mentre il tasto salva del form utente il codice che contiene (che è autogenerato) è :
Private Sub UtentiBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UtentiBindingNavigatorSaveItem.Click
Me.Validate()
Me.UtentiBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.databaseDataSetUtenti)
End Sub

Se salvo un nuovo utente da l form utente , poi chiudo il form e lo riapro... vedo tutto correttamente.
Mentre se lo faccio dal form di login interrogando utenti appena creati dall'altro form non riesco a vederli.... come se fossero 2 istanze diverse...
E' più chiaro adesso?

alexmed Profilo | Guru

Ciao

>If (count = 1) Then
sei sicuro che nè hai uno solo?

Ciao

alexmed

albertazzo Profilo | Newbie

si sono sicuro! e ho risolto! grazie dell'attenzione...
quello che andava fatto era:
allego il codice per il login form che era sbagliato il precedente!
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEnter.Click
Dim tableAdapter As New ComproAffittoCasaDataSet1TableAdapters.utentiTableAdapter

Dim returnValue As Integer
returnValue = CType(tableAdapter.GetNumUserWithThisParameters(TextBoxUser.Text, TextBoxPwd.Text), Integer)
If (returnValue = 1) Then
' Create a new instance of the child form.
Dim ChildForm As New usersForm
' Make it a child of this MDI form before showing it.
ChildForm.MdiParent = MDIMainForm
ChildForm.Text = usersForm.Text
Me.Dispose()
ChildForm.Show()
Else
MsgBox("Errore: username o password errata.")
End If
End Sub
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5