简体   繁体   中英

publication of VB.net project on Visual Studio 2019

I'm doing this post because my app doesn't work on other computers but works on mine as well as another developer's computer.

I published the installation on a server, users download and then launch the application but when they enter their login and password, it shows that the login credentials are bad even though I'm sure they are good since I have looked in the database.

And I repeat myself but the application only works well on another developer's pc.

I have no idea where this can come from so if you have any ideas I'm interested.

Here is the code to authenticate

'Paramêtres de connexion à la DB
Private ReadOnly strConn As String = "Server=" & My.Settings.nomServeur & "; DataBase= " & My.Settings.nomBDD & "; Uid=" & My.Settings.idUser & "; Pwd=" & My.Settings.mdp & "; Integrated Security=SSPI;"

Private Sub BtnConnexion_Click(sender As Object, e As EventArgs) Handles btnConnexion.Click
    'Si le login ou le mot de passe est vide alors afficher un message d'erreur
    If tbLogin.Text = Nothing Or tbMdp.Text = Nothing Then
        'Affichage d'un message d'erreur
        ErrorMessage("Merci de remplir tous les champs")
        'Quitte la fonction
        Exit Sub
    Else
        'Création d'une requête sql qui récupère les données de l'utilisateur grâce à son login et mot de passe
        strSql = "select * from utilisateur where login = '" & tbLogin.Text & "' and mdp = '" & tbMdp.Text & "'"

        'Initialisation de variables
        Dim user, compta, directeur, admin As String
        user = ""
        compta = ""
        directeur = ""
        admin = ""

        Try
            'Création de la connexion
            ObjetConnection = New SqlConnection(strConn)
            'Création de la commande
            ObjetCommand = ObjetConnection.CreateCommand()
            'Affectation de la requête sql dans la commande
            ObjetCommand.CommandText = strSql
            'Ouverture de la connexion
            ObjetConnection.Open()

            'permet de récupérer les résultats d'une requete sql qui contient Count, avg, max, min, sum
            Dim myReader As SqlDataReader
            'Exécution de la requête
            myReader = ObjetCommand.ExecuteReader()

            'Lecture de toutes les lignes du résultat de la requête
            Do While myReader.Read()
                'Récupération des données de la ligne du résultat de la requête
                user = myReader.GetValue(7).ToString()
                compta = myReader.GetValue(8).ToString()
                directeur = myReader.GetValue(9).ToString()
                admin = myReader.GetValue(10).ToString()
            Loop

            'Si l'admin est à 1 alors l'utilisateur est un admin et affiché la page de gestion des modules
            If Int(admin) = 1 Then
                'Affichage de la page de gestion des modules
                GestionModules.Show()
                'Rend invisible la page actuelle (Authentification)
                Me.Visible = False
            End If
            'Si l'utilisateur est à 1 et tous les autres rôles sont à 0 alors
            If user = 1 And admin = 0 And compta = 0 And directeur = 0 Then
                'Affichage de la page de création de l'entete
                CreationEntete.Show()
                'Rend invisible la page actuelle (Authentification)
                Me.Visible = False
            End If
            'Si la compta est à 1 et l'admin est à 0 alors l'utilisateur fait parti de la compta
            If compta = 1 And admin = 0 And directeur = 0 Then
                'Affichage de la page de gestion des modules
                GestionModules.Show()
                'Rend invisible la page actuelle (Authentification)
                Me.Visible = False
            End If
            'Si le directeur est à 1 et l'admin est à 0 alors l'utilisateur est le directeur
            If directeur = 1 And admin = 0 And compta = 0 Then
                'Affichage de la page de gestion des modules
                GestionModules.Show()
                'Rend invisible la page actuelle (Authentification)
                Me.Visible = False
            End If

            'Fermeture de la connexion
            ObjetConnection.Close()

        Catch ex As Exception
            'Affichage d'un message d'erreur
            ErrorMessage("Erreur le mot de passe ou login est incorrect")
        End Try

    End If

End Sub

i found, the problem was with the connection line. Here is the new connection.

Public strConn As String = "Data Source=" + My.Settings.nomServeur + ";Initial Catalog=" + My.Settings.nomBDD + ";User ID=" + My.Settings.idUser + ";Password=" + My.Settings.mdp + ""

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM