IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Base de Donnees TextBox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 68
    Par défaut Base de Donnees TextBox
    Bonjour,

    Voilà j'ai réussi ma connexion à ma base de données avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Public Sub connection()
            connexion.ConnectionString = "Data Source=localhost;Initial Catalog=base;Integrated Security=true"
            connexion.Open()
            If connexion.State = ConnectionState.Open Then
                MsgBox("Connexion réussite", MsgBoxStyle.Exclamation, "Status")
            Else
                MsgBox("Connexion non reussite", MsgBoxStyle.Critical, "Status")
            End If
            connexion.Close()
    maintenant j'essaie d'ajouter des données dans ma base, des données prises depuis des TextBox, mais il me marque cet avertissement lorsque je clique sur "enregistrer"
    Une exception de première chance de type 'System.Data.SqlClient.SqlException' s'est produite dans System.Data.dll
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Try
                connection()
                Dim strRequete As String = "SELECT * FROM Entraineurs"
                Dim dtt As DataTable
                Dim oSqlDataAdapter As New SqlDataAdapter(strRequete, connexion)
                Dim oDataSet As New DataSet("Entraineurs")
                oSqlDataAdapter.Fill(oDataSet, "Entraineurs")
                dtt = oDataSet.Tables("Entraineurs")
     
                oSqlDataAdapter.InsertCommand = New SqlCommand("INSERT INTO Entraineurs(Nom,Prénom,Adresse,Téléphone) Values(@TextBoxNom_E,@TextBoxPrenom_E,@TextBoxAd_E,@TextBoxTel_E)", connexion)
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxNom_E", SqlDbType.Int, 30, "TextBoxNom_E")
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxPrenom_E", SqlDbType.NChar, 15, "TextBoxPrenom_E")
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxAd_E", SqlDbType.Int, 100, "TextBoxAd_E")
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxTel_E", SqlDbType.Int, 100, "TextBoxTel_E")
     
                Dim oDataRow As DataRow
                Dim byteArray As Byte() = {}
     
                oDataRow = oDataSet.Tables("Entraineurs").NewRow
                oDataRow("TextBoxNom_E") = TextBoxNom_E.Text
                oDataRow("TextBoxPrenom_E") = TextBoxPrenom_E.Text
                oDataRow("TextBoxAd_E") = TextBoxAd_E.Text
                oDataRow("TextBoxTel_E") = TextBoxTel_E.Text
     
                oDataSet.Tables("Entraineurs").Rows.Add(oDataRow)
                oSqlDataAdapter.Update(oDataSet, "Entraineurs")
     
                oDataSet.Clear()
                oSqlDataAdapter.Fill(oDataSet, "Entraineurs")
                dtt = oDataSet.Tables("Entraineurs")
                MsgBox("Article enregistré avec succés", MsgBoxStyle.Information, "Status")
                connexion.Close()
     
     
            Catch
                MsgBox("Echec d'enregistrement")
            End Try
    merci ..

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ta Sub connection ferme la connexion aussitôt après l'avoir ouverte, donc ça ne risque pas de marcher

    D'autre part, si la méthode Open réussit, le statut de la connexion sera forcément Open. Et si la méthode Open échoue, tu auras une exception, donc de toutes façons tu ne passera jamais dans le else.

    Tu ne devrais pas utiliser le même objet connexion à chaque fois, ça ne t'apportera que des problèmes. Utilise plutôt une variable locale que tu initialises avec le résultat d'une fonction GetConnection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
        Public Function GetConnection() As SqlConnection
            Dim connection As New SqlConnection()
            connection.ConnectionString = "Data Source=localhost;Initial Catalog=base;Integrated Security=true"
            connection.Open()
            Return connection
        End Function
     
    ...
     
     
    Try
            Using (connexion As GetConnection())
                Dim strRequete As String = "SELECT * FROM Entraineurs"
                Dim dtt As DataTable
                Dim oSqlDataAdapter As New SqlDataAdapter(strRequete, connexion)
                Dim oDataSet As New DataSet("Entraineurs")
                oSqlDataAdapter.Fill(oDataSet, "Entraineurs")
                dtt = oDataSet.Tables("Entraineurs")
     
                oSqlDataAdapter.InsertCommand = New SqlCommand("INSERT INTO Entraineurs(Nom,Prénom,Adresse,Téléphone) Values(@TextBoxNom_E,@TextBoxPrenom_E,@TextBoxAd_E,@TextBoxTel_E)", connexion)
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxNom_E", SqlDbType.Int, 30, "TextBoxNom_E")
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxPrenom_E", SqlDbType.NChar, 15, "TextBoxPrenom_E")
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxAd_E", SqlDbType.Int, 100, "TextBoxAd_E")
                oSqlDataAdapter.InsertCommand.Parameters.Add("@TextBoxTel_E", SqlDbType.Int, 100, "TextBoxTel_E")
     
                Dim oDataRow As DataRow
                Dim byteArray As Byte() = {}
     
                oDataRow = oDataSet.Tables("Entraineurs").NewRow
                oDataRow("TextBoxNom_E") = TextBoxNom_E.Text
                oDataRow("TextBoxPrenom_E") = TextBoxPrenom_E.Text
                oDataRow("TextBoxAd_E") = TextBoxAd_E.Text
                oDataRow("TextBoxTel_E") = TextBoxTel_E.Text
     
                oDataSet.Tables("Entraineurs").Rows.Add(oDataRow)
                oSqlDataAdapter.Update(oDataSet, "Entraineurs")
     
                oDataSet.Clear()
                oSqlDataAdapter.Fill(oDataSet, "Entraineurs")
                dtt = oDataSet.Tables("Entraineurs")
                MsgBox("Article enregistré avec succés", MsgBoxStyle.Information, "Status")
     
            End Using ' La connexion sera fermée automatiquement ici
     
            Catch ex As Exception
                MsgBox("Echec d'enregistrement : " & ex.ToString())
            End Try

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 68
    Par défaut
    il me trouve une erreur à cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Using (connexion As GetConnection())
    ')' attendue .... je ne trouve pas où

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ah oui pardon... pas l'habitude d'écrire du code VB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Using (connexion As SqlConnection = GetConnection())

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 68
    Par défaut
    toujorus la même erreur, il manque un ')' d'après VB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Using (connexion As SqlConnection = GetConnection())

  6. #6
    Membre expérimenté Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Par défaut
    Ce ne serait pas plutot ca par hasard???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim connexion As SqlConnection = GetConnection()

Discussions similaires

  1. listbox textbox et base de donnee local
    Par AcideBlood dans le forum VB.NET
    Réponses: 20
    Dernier message: 19/04/2011, 09h40
  2. Ouvrir, Enregistrer des textbox dans une base de donnee ( DEBUTANT!)
    Par macfly77 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/12/2006, 13h21
  3. taille maximale d'une base de donnée paradox
    Par Anonymous dans le forum Paradox
    Réponses: 5
    Dernier message: 14/02/2004, 17h39
  4. [VB6] [Access] Compacter une base de donnée
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/09/2002, 11h33
  5. [VB6] [ODBC] Référencer une base de données avec vb
    Par af.balog dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/09/2002, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo