Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371

    [VB6] Stringa SQL - comparazione non riuscita

    Mi da errore nella stringa SQL, probabilmente è sbagliata la sintassi di comparazione tra il Campo del DB e la Variabile, ma ho provato di tutto e non va..

    qualche idea?

    codice:
    Option Explicit
    
    Public Autenticato As Boolean
    
    Dim Con As ADODB.Connection
    Dim StringaConn As String
    Dim query As String
    Dim Rst As ADODB.Recordset
    Dim UserName As String
    Dim Password As String
    codice:
    Sub Form_Load()
    
    Autenticato = False
    
    Set Con = New ADODB.Connection
    Set Rst = New ADODB.Recordset
    
    StringaConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\LucaCo\Desktop\Progetti\Gestione IT Zara\it_works.mdb;Persist Security Info=False"
    Con.Open StringaConn
    
    End Sub
    codice:
    Private Sub cmd_log_in_Click()
    
    UserName = LCase(txt_username.Text)
    Password = LCase(txt_password.Text)
    
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username=Username AND Passwor=Password ")
    
    If Rst.EOF Or Rst.BOF Then
        MsgBox "Errore LogIn!", vbExclamation
        Else
        If txt_password.Text = Rst.Fields("Passwor").Value Then
            Autenticato = True
            MsgBox "LogIn Eseguito!", vbExclamation
        End If
    End If
    
    End Sub

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Che errore ti da? Sicuro che valori possano essere uguali? Sicuro che la connessione sia giusta?

    StringaConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\LucaCo\Desktop\Progetti\Gestione IT Zara\it_works.mdb;Persist Security Info=False"

    E' giusta senza doppio apice nel campo data source?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username=Username AND Passwor=Password ")
    e' sbagliata ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    giustamente:

    questa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username=Username AND Passwor=Password ")
    diventa questa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username= " & Username &" AND Passwor=" & Password)

  5. #5
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    Che errore ti da?


    Sicuro che valori possano essere uguali?
    In che senso? quell'errore me lod a qualsiasi cosa inserisco come USR/PSW

    Sicuro che la connessione sia giusta?

    StringaConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\LucaCo\Desktop\Progetti\Gestione IT Zara\it_works.mdb;Persist Security Info=False"

    E' giusta senza doppio apice nel campo data source?
    Se metto il doppio apice dove dici mi da errore (prevista fine istruzione).. presumo di si..

    Questa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username=Username AND Passwor=Password ")
    e' sbagliata ...
    Immaginavo, è sbagliata a livello di sintassi?

  6. #6
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    Originariamente inviato da Stoicenko
    giustamente:

    questa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username=Username AND Passwor=Password ")
    diventa questa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username= " & Username &" AND Passwor=" & Password)
    purtroppo mida lo stesso errore

  7. #7
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    quindi le variabili in VB in una stringa SQL vengono circontate da "& &" ??

  8. #8
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    sicuro che i valori di username e password non siano nulli?
    e poi è giusto che il campo equivalente alla password si chiami passwor?

  9. #9
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    si si chiama passwor

    in effetti l'errore è: "nerssun valroe specificato per alcuni parametri necessari"


    però i valori li recupero...


    UserName = LCase(txt_username.Text)
    Password = LCase(txt_password.Text)

  10. #10
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    doppio errore quindi:

    la query che ti ho scritto io non è giusta perchè Username (scritto nella tua query e riportato da me) in realtà è UserName (vb6 è case sensitive)

    quindi diventa

    codice:
    Set Rst = Con.Execute("SELECT * FROM Utenti WHERE Username= " & UserName &" AND Passwor=" & Password)

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.