Connexion avec login et mot de passe

husobom Messages postés 6 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 12 août 2008 - 6 août 2008 à 16:58
husobom Messages postés 6 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 12 août 2008 - 7 août 2008 à 08:13
Bonjour, j'apprends actuellement à utiliser Visual Basic dans Visual Studio.
Et j'ai fait une application me permettant d'inscrire des informations, et quand on clique sur "s'inscrire" les données s'ajoutent dans la base de données comme il faut, voici mon code pour ceux que ça intéresse :
Imports System.Data.SqlClient

Public Class Form1
    Dim cmd As New SqlCommand
    Dim c_string As String = "Data Source=PC-DE-HUSOBOM;Initial Catalog=Fiche;Integrated Security=True"
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim con As New SqlConnection(c_string)
        Try
            con.Open()
            Dim StrIns As String = ""
            If RB1.Checked = True Then
                StrIns = "INSERT INTO Informations(Login, Password, Nom, Prénom, Adresse, Ville, Téléphone, Email, Statut_marital ) VALUES ('" & Login.Text & "', '" & Password.Text & "', '" & Nom.Text & "', '" & Prenom.Text & "', '" & Adresse.Text & "', '" & Ville.Text & "', '" & Telephone.Text & "', '" & Email.Text & "', 'Célibataire')"
            End If
            If RB2.Checked = True Then
                StrIns = "INSERT INTO Informations(Login, Password, Nom, Prénom, Adresse, Ville, Téléphone, Email, Statut_marital ) VALUES ('" & Login.Text & "', '" & Password.Text & "', '" & Nom.Text & "', '" & Prenom.Text & "', '" & Adresse.Text & "', '" & Ville.Text & "', '" & Telephone.Text & "', '" & Email.Text & "', 'Marié')"
            End If
            Dim cmd As New SqlCommand(StrIns, con)

            cmd.CommandText = StrIns
            cmd.Connection = con
            cmd.ExecuteNonQuery()
            con.Close()

        Catch ex As Exception
            MessageBox.Show(ex.Message, "HATA!!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
            Exit Sub
        End Try

        EkrTemizle() //Effacer les données dans les textbox

    End Sub
    Private Sub EkrTemizle()
        Login.Text = ""
        Password.Text = ""
        Nom.Text = ""
        Prenom.Text = ""
        Adresse.Text = ""
        Ville.Text = ""
        Telephone.Text = ""
        Email.Text = ""
        RB1.Checked = False
        RB2.Checked = False
    End Sub
End Class

Maintenant mon problème c'est que je veux avec une connexion login accéder à des données puis pouvoir les modifier, mais je ne vois pas comment coder pour que quand je clique sur connecter, je puisse faire la comparaison avec un login de la base de données pour voir s'il existe... J'espère que vous avez compris mon problème, merci de m'aider...

7 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
6 août 2008 à 17:12
Bonjour husoborn

Je ne suis pas encore programmeur VBNet
Si tu a inscrit des personnes avec
INSERT INTO Informations(Login, Password) values ...

tu dois pouvoir vérifier en ouvrant (Open) un objet RecordSet sur la requete
Select * into Informations where champLogin=Informations.Login and champPassword=Informations.Password

champLogIn est le champ du controle qui te permet de saisir le Login
idem pour champPassword
0
husobom Messages postés 6 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 12 août 2008
6 août 2008 à 17:19
Et comment on ouvre un objet RecordSet, moi non plus je suis pas programmeur, je débute tout juste...
0
JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
6 août 2008 à 17:39
Bonjour, fais quelques recherches sur ADO,
je te donne l'idée générale.
Mets bien les apostrophes pour délimiter les zones de texte
txt_login et txt_password correspondent au nom des textbox de saisie
rst est le nom du recordset


strsql="SELECT * FROM Informations WHERE Login='" & txt_login & '" AND Password='" & txt_password & "'"
Rst.open strsql,conn ...

ensuite si rst est vide c'est qu'aucun utilisateur avec ce mot de passe n'existe, sinon c'est ok, tu rexuperes les info avec

msqbox rst!login ...
0
husobom Messages postés 6 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 12 août 2008
6 août 2008 à 17:42
Pourquoi quand je fais Dim rst As ADODB.Recordset il me dit que c'est pas défini ? il faut importer quelquechose ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
6 août 2008 à 17:55
As tu déclaré ADO dans les références ?

sinon, Dim rst As new ADODB.Recordset 
0
radcur Messages postés 282 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 15 août 2012 2
6 août 2008 à 18:36
attention

c'est du vb.net

les références à ADO sont là seulement pour des raisons de compatibilité.

tu dois faire une requête SQL qui te permet de rechercher le login et le mot de passe saisi

si tu recois un nombre égale à  :
    0, il n'existe pas
    1, il existe
    plus de 1, tu as un sérieux problème! 

vérifie dans d'autres sources sur vbfrance, il y a plusieurs exemples pour t'aider
 
0
husobom Messages postés 6 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 12 août 2008
7 août 2008 à 08:13
Non je n'ai pas déclaré ADO et je sais pas comment faire, tous les codes que je trouve commencent directement par Dim rst As new ADODB.Recordset, ça semble si évident de déclarer ? pourriez-vous me dire comment je le déclare ?
0
Rejoignez-nous