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 :

un peu d'aide en SQL [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut un peu d'aide en SQL
    Bonsoir,
    J'arrive a me connecter a une base mysql avec
    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
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                Dim champs As Integer = 0
                Dim query As String = "SELECT MediaType FROM films  where ID ='" & TextBox1.Text & "'"   'Requête SQL
                Dim connection As New MySqlConnection("server= 127.0.0.1;user id= root ; password=; database=film")
                Dim cmd As New MySqlCommand(query, connection)
     
                connection.Open()
                MsgBox("connected")
                connection.Close()
            Catch ex As MySqlException
                MsgBox(ex.Message)
     
            End Try
        End Sub
    Maintenant ce que je voudrais pouvoir faire c'est si mon "MediaType" est differents de toto alors "Mediatype" = toto.
    Cordialement.

  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
    Citation Envoyé par hugoclo Voir le message
    Maintenant ce que je voudrais pouvoir faire c'est si mon "MediaType" est differents de toto alors "Mediatype" = toto.
    Euh... c'est à dire ? Tu veux mettre à jour la table pour que MediaType soit égal à toto pour toutes les lignes ?

  3. #3
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    nom juste pour ceux dont j'aurais choisi "ID"

  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
    Bah c'est juste une instruction UPDATE :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE films SET MediaType = 'toto' WHERE ID = ...

    Soit dit en passant, en faisant ce genre de choses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT MediaType FROM films  where ID ='" & TextBox1.Text & "'"
    Tu t'exposes à de gros problèmes... devine ce qui se passe si je saisis ça dans la TextBox :
    '; DROP DATABASE; --
    (n'essaie pas si tu ne veux pas perdre ta BDD...)

    Ca s'appelle une attaque par injection SQL... mais sans aller si loin, et même si tes utilisateurs ne sont pas mal-intentionnés, ton code ne fonctionnera pas si l'utilisateur saisit des apostrophes.

    Il faut utiliser des requêtes paramétrées, comme expliqué ici

  5. #5
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    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
        Try
                Dim ident As String
                Dim path As String = "d:\esavt.txt"
                Dim sr As StreamReader = New StreamReader(path)
                Do While sr.Peek() >= 0
                    ident = sr.ReadLine()
                    Dim query As String = "UPDATE films SET MediaType = 'URL' WHERE ID ='" & ident & "'"    'Requête SQL
                    Dim connection As New MySqlConnection("server= 127.0.0.1;user id= root ; password=; database=film")
                    Dim cmd As New MySqlCommand(query, connection)
                    connection.Open()
                    MsgBox(ident)
                    connection.Close()
                Loop
                sr.Close()
     
            Catch ex As MySqlException
                MsgBox(ex.Message)
     
            End Try
    quand je clique sur mon bouton, j'ai aucune erreur mais rien ne change dans ma BDD

  6. #6
    Membre chevronné Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Vendée (Pays de la Loire)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Par défaut
    Normal tu n’exécute pas ta requête....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cmd.ExecuteNonQuery()
    De plus ta requête ne tient pas compte des recommandations de Tomlev au sujet des possibles injections SQL avec ton code actuel

    Pascal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. svp un peu d'aide sur mon update, resumé simple en dessous
    Par hansaplast dans le forum Langage SQL
    Réponses: 11
    Dernier message: 14/11/2005, 10h14
  2. Besoin d'aide requete sql
    Par dinde dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/10/2005, 09h09
  3. Un peu d'aide a m'y retrouver ??
    Par Stankovic dans le forum C++
    Réponses: 3
    Dernier message: 27/09/2005, 22h32
  4. [Aide requete SQL]
    Par viny dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 22/04/2005, 17h00
  5. aide PL/SQL syntaxes [debutant] [mauvaise doc]
    Par sdeb dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/01/2004, 12h59

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