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 :

VB erreur de requete


Sujet :

VB.NET

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    j'avais mis aussi "idbdataparameter" mais à ce moment c le "name" en dessous qui n'est plus correcte, a la place j ai mis "dbtype" puis il y a une autre erreur et elle se trouve juste après et un "=" le "dbtype" n'est pas déclare.

  2. #22
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    à cet endroit là j'ai mis "dbtype.string" je ne sais pas ce que ça va donner

  3. #23
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Je crois que ce n'est pas Name mais ParameterName. Décidément, je cumule les erreurs...

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    ce n'est pas grave tu es déjà bien gentil à m'aider comme tu le fais je t'en remercie d'ailleurs.
    J 'ai encore une petite question dans la ligne

    paramAdresse.DbType = DbTypes.VarChar

    Le "VarChar" n'est pas reconnu je dois mettre quoi à la place?

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Ça a fonctionné correctement pour la première requete c bien gentil merci mais pour la 2 requete mon "INSERT" je dois faire pareil?
    Ou il y a une autre méthode?

  6. #26
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Tu peux mettre DbType.String pour une chaîne de caractères. Regarde bien l'énumération DbType.
    Fais pareil pour la deuxième requête. Tu peux améliorer (à mon sens) en déplaçant ton code Sql vers une procédure stockée...

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Ça a fonctionné correctement pour la première requete c bien gentil merci mais pour la 2 requete mon "INSERT" je dois faire pareil?
    Ou il y a une autre méthode?

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    En fait tu peux le faire différemment selon le provider.

    Voici un exemple avec le classique OLEDB, plus générique :

    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
    48
    49
    50
    51
    52
    53
     'Construction de la requête qui va chercher les données en base
            Dim sql As Text.StringBuilder = New Text.StringBuilder("")
            sql.Append("INSERT INTO Reappro (id_distrib , id_catalogue_article, libelle, date_debut, date_fin, id_liste_ordonnee) ")
            sql.Append("VALUES (?, ?, ?, ?, ?, ?)")
     
            'Connexion à la BDD
            Dim strConnexion As String = connectionString
            Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
            Dim openConnectionError As Boolean = False
            Try
                oConnexion.Open()
            Catch ex As Exception
                msInsert = "-2"
                openConnectionError = True
            End Try
     
            'Si l'ouverture de la connexion s'est bien passée on exécute la requête
            If Not openConnectionError Then
     
                msInsert = "-1"
     
                Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString)
                oCommand.Parameters.Add("@id_distrib", OleDb.OleDbType.Integer)
                oCommand.Parameters.Item("@id_distrib").Value = idDistrib
     
                oCommand.Parameters.Add("@id_catalogue_article", OleDb.OleDbType.Integer)
                oCommand.Parameters.Item("@id_catalogue_article").Value = idCatalogueArticle
     
                oCommand.Parameters.Add("@libelle", OleDb.OleDbType.VarChar)
                oCommand.Parameters.Item("@libelle").Value = Replace(libelle, "'", "''")
     
                oCommand.Parameters.Add("@date_debut", OleDb.OleDbType.Date)
                oCommand.Parameters.Item("@date_debut").Value = CType(dateDebut, Date)
     
                oCommand.Parameters.Add("@date_fin", OleDb.OleDbType.Date)
                oCommand.Parameters.Item("@date_fin").Value = CType(dateFin, Date)
     
                oCommand.Parameters.Add("@id_liste_ordonnee", OleDb.OleDbType.Integer)
                oCommand.Parameters.Item("@id_liste_ordonnee").Value = CInt(idListeOrdonnee)
     
                oCommand.Connection = oConnexion
                Try
                    msInsert = 1
                    oCommand.ExecuteNonQuery()                
                Catch ex As Exception
                    msInsert = "-1"
                Finally
                    oConnexion.Close()
                    oConnexion.Dispose()
                End Try
            Else
                msInsert = "-2"
            End If 'Fin si connection OK
    Comme ça tu as du Varchar, de l'integer, de la date
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  9. #29
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    J'ai pas mal de choses qui sont pas reconnue la dedans :s tu pourrais me diriger avec mon code qui est plus haut?
    merci

  10. #30
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Si connectionString et msInsert ne sont pas reconnu c'est normal

    - msInsert : le code de retour, si tu veux en gérer un
    - connectionString : ta chaîne de connexion

    Y-a-t-il autre chose?
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Non il y avait que le "msinsert" qui me pose vraiment problème, voila j'ai remplacé ce que je devais remplacer mais j'ai toujours des petits problèmes ils se trouvent dans la 2 eme partie du code mes (description,latitude,longitude...) qui ne sont pas reconnu.
    Merci de ton aide

    'Construction de la requête qui va chercher les données en base
    Dim sql As System.Text.StringBuilder = New System.Text.StringBuilder("")
    sql.Append("INSERT INTO GoogleMap (Adresse ,Description , Latitude, Longitude) ")
    sql.Append("VALUES (?, ?, ?, ?, ?, ?)")

    'Connexion à la BDD
    Dim strConnexion As String = "Data Source=BILOU;Initial Catalog=ANSDNN;Integrated Security=True"
    Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
    Dim openConnectionError As Boolean = False
    Try
    oConnexion.Open()
    Catch ex As Exception
    'msInsert = "-2"
    openConnectionError = True
    End Try

    'Si l'ouverture de la connexion s'est bien passée on exécute la requête
    If Not openConnectionError Then

    'msInsert = "-1"

    Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString)
    oCommand.Parameters.Add("@Adresse", OleDb.OleDbType.VarChar)
    oCommand.Parameters.Item("@Adresse").Value = Adresse

    oCommand.Parameters.Add("@Descrption", OleDb.OleDbType.VarChar)
    oCommand.Parameters.Item("@Descritpion").Value = Description

    oCommand.Parameters.Add("@Latitude", OleDb.OleDbType.Numeric)
    oCommand.Parameters.Item("@Latitude").Value = Latitude

    oCommand.Parameters.Add("@Longitude", OleDb.OleDbType.Numeric)
    oCommand.Parameters.Item("@Longitude").Value = Longitude

    oCommand.Connection = oConnexion
    Try
    'msInsert = 1
    oCommand.ExecuteNonQuery()
    Catch ex As Exception
    'msInsert = "-1"
    Finally
    oConnexion.Close()
    oConnexion.Dispose()
    End Try
    Else
    'msInsert = "-2"
    End If 'Fin si connection OK

  12. #32
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Déjà là ça va pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim sql As System.Text.StringBuilder = New System.Text.StringBuilder("")
    sql.Append("INSERT INTO GoogleMap (Adresse ,Description , Latitude, Longitude) ")
    sql.Append("VALUES (?, ?, ?, ?, ?, ?)")
    Tu as 4 variables et 6 points d'intérogations... ça va planter

    4 variables à insérer = 4 ?

    Essayes comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim sql As System.Text.StringBuilder = New System.Text.StringBuilder("")
    sql.Append("INSERT INTO GoogleMap (Adresse ,Description , Latitude, Longitude) ")
    sql.Append("VALUES (?, ?, ?, ?)")
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  13. #33
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Aussi, penses à la balise CODE... c'est plus lisible
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  14. #34
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Tiens je viens de voir autre chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim strConnexion As String = "Data Source=BILOU;Initial Catalog=ANSDNN;Integrated Security=True"
    Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
    Il manque le provider dans ta chîne de connexion. Avec OLEDB il faut spécifier le provider comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim strConnexion As String = "Provider=SQLOLEDB;Data Source=BILOU;Initial Catalog=ANSDNN;Integrated Security=True"
    Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  15. #35
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    merci, mais il me dit que mes données ne sont pas déclarées?
    Celles qui se trouve à la fin du code si tu sais m'aider pour ça aussi.
    merci

  16. #36
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Que veux-tu dire par "mes données ne sont pas déclarées" ?
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  17. #37
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Mes données "adresse","description","latitude","longitude", sont soulignée et il me dit qu'elles ne sont pas déclarées.

    Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString)
    oCommand.Parameters.Add("@Adresse", OleDb.OleDbType.VarChar)
    oCommand.Parameters.Item("@Adresse").Value = Adresse

    oCommand.Parameters.Add("@Descrption", OleDb.OleDbType.VarChar)
    oCommand.Parameters.Item("@Descritpion").Value = Description

    oCommand.Parameters.Add("@Latitude", OleDb.OleDbType.Numeric)
    oCommand.Parameters.Item("@Latitude").Value = Latitude

    oCommand.Parameters.Add("@Longitude", OleDb.OleDbType.Numeric)
    oCommand.Parameters.Item("@Longitude").Value = Longitude


    Merci de ton aide

  18. #38
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    ça y est je viens de comprendre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString)
    oCommand.Parameters.Add("@Adresse", OleDb.OleDbType.VarChar)
    oCommand.Parameters.Item("@Adresse").Value = Adresse
    
    oCommand.Parameters.Add("@Descrption", OleDb.OleDbType.VarChar)
    oCommand.Parameters.Item("@Descritpion").Value = Description
    
    oCommand.Parameters.Add("@Latitude", OleDb.OleDbType.Numeric)
    oCommand.Parameters.Item("@Latitude").Value = Latitude
    
    oCommand.Parameters.Add("@Longitude", OleDb.OleDbType.Numeric)
    oCommand.Parameters.Item("@Longitude").Value = Longitude
    Tu dois parler des mots en gras. En fait il faut que tu déclares tes variables avant de les utiliser...

    Et puis ensuite tu leur affecte les valeurs que tu veux...

    Quel langage as-tu pratiqué avant?
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  19. #39
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Du C mais dans le VB je suis débutant.
    Je vais essayé comme ça merci

  20. #40
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Cela ne se met pas dans ma base de donnée sql ...
    Si je te donne mon code tu serais regarder?

Discussions similaires

  1. URGENT : Erreur dans requete
    Par shub dans le forum Access
    Réponses: 5
    Dernier message: 21/06/2006, 11h37
  2. erreur dans requete Sql
    Par flOZ dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/05/2006, 02h49
  3. [TRANSACTION] Erreur dans requete
    Par Tchinkatchuk dans le forum Langage SQL
    Réponses: 7
    Dernier message: 26/05/2005, 17h38
  4. erreur bigint requete Employee.fdb via AdoDb
    Par jflebegue dans le forum Connexion aux bases de données
    Réponses: 7
    Dernier message: 04/01/2005, 11h03
  5. Recuperer les erreurs des requetes sql en asp
    Par emile13 dans le forum ASP
    Réponses: 3
    Dernier message: 01/04/2004, 13h49

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