Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    'Quà dovrei inserire il controllo degli utenti
    If UsernameTextBox.Text = "Stefano" And PasswordTextBox.Text = "stefano" Then
    Me.Visible = False
    Form1.Visible = True
    Else
    MsgBox("Inserire User e Password corretti", vbCritical, "Stop")
    UsernameTextBox.Text = ""
    PasswordTextBox.Text = ""
    UsernameTextBox.Focus()
    End If
    End Sub

    questa è la parte di codice che a me interessa, ovvero ho le textbox con un controllo del nome utente da codice e devo invece fargli fare un controllo sul database. Ho creato una query chiamata login ma non so come implementarla e fargli fare il controllo.

    se qualcuno può modificare il codice postato in modo da fargli fare tale controllo, ne sarei immensamente grato.

    Premetto che ho già creato un dataset che mi si collega all'intero database.

    Non so se devo usare e creare un altro dataset per la tabella degli utenti o posso continuare ad utilizzare un solo dataset.

  2. #12
    Il codice che ti ho dato come esempio, serve, fino all'istruzione Da.Fill(Ds, "Tabella1"), a popolare una DataTable all'interno del DataSet con il nome di Tabella1.
    Il passo successivo è (ci sono diverse tecniche per farlo) iterare la DataTable e confrontare il campo Username di ogni singola riga con il valore immesso nella TextBoxUserName ed il campo Password di ogni singola riga con il valore immesso nella TextBoxPassword.
    Nel momento in cui si trova una corrispondenza si interrompe il ciclo e si avvisa l'utente che i dati sono corretti.
    Quindi:

    codice:
    for each row as DataRow in ds.Tables("Tabella1")
    If UsernameTextBox.Text = row("UserName2).tostring And PasswordTextBox.Text = row("Password").tostring Then
    Me.Visible = False
    Form1.Visible = True
    exit for
    next
    Facci sapere ...
    Ciao

  3. #13
    Buongiorno a tutti e grazie per l'aiuto.
    Ho implementato le righe di codiche che mi hai postato, e l'unico errore che mi da è sulla riga seguente:

    For Each row As DataRow In Ds.Tables("Utenti")

    mi dice che: Errore 3 L'espressione è di tipo 'System.Data.DataTable', che non è un tipo insieme. C:\Documents and Settings\Stefano\Documenti\Visual Studio 2008\Projects\DataGest\DataGest\LoginForm1.vb 25 36 DataGest

    come da cosiglio del moderatore, posto il codice modificato:

    Public Class LoginForm1
    Private Ds As DataSet
    Private ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= |DataDirectory|\\db1.mdb;"
    Private Conn As OleDb.OleDbConnection
    Private Da As OleDb.OleDbDataAdapter
    Private Cmd As OleDb.OleDbCommand
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    For Each cnt As Control In Me.Controls
    If TypeOf cnt Is TextBox Then
    cnt.DataBindings.Clear()
    End If
    Next
    Conn = New OleDb.OleDbConnection(ConnString)
    Cmd = New OleDb.OleDbCommand("SELECT * FROM utenti", Conn)
    Da = New OleDb.OleDbDataAdapter(Cmd)
    Ds = New db1DataSet
    Dim cmb As New OleDb.OleDbCommandBuilder(Da)
    Da.Fill(Ds, "Utenti")
    End
    'Quà dovrei inserire il controllo degli utenti
    For Each row As DataRow In Ds.Tables("Utenti")
    If UsernameTextBox.Text = row("Nome Utente").ToString And PasswordTextBox.Text = row("Password").ToString Then
    Me.Visible = False
    Form1.Visible = True
    'End If

    'If UsernameTextBox.Text = UtentiTableAdapter.ScalarQuery And PasswordTextBox.Text = UtentiTableAdapter.ScalarQuery Then
    'Me.Visible = False
    'Form1.Visible = True
    Else
    MsgBox("Inserire User e Password corretti", vbCritical, "Stop")
    UsernameTextBox.Text = ""
    PasswordTextBox.Text = ""
    UsernameTextBox.Focus()
    End If
    Exit For
    Next
    End Sub


    end class

    Per completezza, il database si chiama db1.mdb
    la tabella utwenti si chiama appunto Utenti e ha 3 colonne, id (contatore e progressivo ed ho settato nel mdb indicizzato si duplicati non ammessi), Nome utente e password.

    suggerimenti?
    Ringrazio tutti per l'immenso aiuto dato

  4. #14
    Ooops ... scusa l'ho scritto al volo senza farci caso.

    For Each row As DataRow In Ds.Tables("Utenti")
    diventa
    For Each row As DataRow In Ds.Tables("Utenti").Rows

  5. #15
    Ad ogni modo ... il codice, per come lo hai modificato è errato.
    Provalo così:

    codice:
    Public Class LoginForm1
    Private Ds As DataSet
    Private ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= |DataDirectory|\\db1.mdb;"
    Private Conn As OleDb.OleDbConnection
    Private Da As OleDb.OleDbDataAdapter
    Private Cmd As OleDb.OleDbCommand
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    For Each cnt As Control In Me.Controls
    If TypeOf cnt Is TextBox Then
    cnt.DataBindings.Clear()
    End If
    Next
    Conn = New OleDb.OleDbConnection(ConnString)
    Cmd = New OleDb.OleDbCommand("SELECT * FROM utenti", Conn)
    Da = New OleDb.OleDbDataAdapter(Cmd)
    Ds = New DataSet
    Dim cmb As New OleDb.OleDbCommandBuilder(Da)
    Da.Fill(Ds, "Utenti")
    'Quà dovrei inserire il controllo degli utenti
    
    For Each row As DataRow In Ds.Tables("Utenti").Rows
    If UsernameTextBox.Text = row("Nome Utente").ToString And PasswordTextBox.Text = row("Password").ToString Then
    Me.Visible = False
    Form1.Visible = True
    messagebox.show("Login effettuato")
    Return
    End if
    Next 
    MsgBox("Inserire User e Password corretti", vbCritical, "Stop")
    UsernameTextBox.Text = ""
    PasswordTextBox.Text = ""
    UsernameTextBox.Focus()
    End Sub
    End Class
    Facci sapere...
    Ciao

  6. #16
    Ti adoroooooooooooooo!

    Funziona alla grande!!
    Mi studio il codice e ne farò ottimo uso!

    Avrete uno spazio tutto vostro nelle informazione del software!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.