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 :

SQL et VB.NET


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut SQL et VB.NET
    Bonjour j'ai un petit problème d'"insert into" dans une table, j'importe le calendrier de outlook, je fais une boucle FOR ... NEXT pour copier les éléments dans ma table voici un extrait de 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
       For i = 1 To lngItemCount
     
                On Error Resume Next
                objItem = oCal.Items(i)
                On Error GoTo 0
     
                If Not objItem Is Nothing Then ' this is an appointment item
     
                    With objItem
                        début = Format(.Start, "dd/mm/yyyy hh:mm") 'Début
                        fin = Format(.End, "dd/mm/yyyy hh:mm") ' Fin
                        date1 = Format(.End, "dd/mm/yyyy") ' Date
                        duree = Format((.Duration / 1440) / 1, "hh:mm") ' Durée
                        objet = .Subject ' Objet
                        nom = .Location ' Nom
                        de = .Organizer ' De
                        body = Replace(.Body, "&0A", vbCrLf) 'Contenu
                        categories = .Categories ' Categories
                    End With
     
                    'objItem = Nothing
                End If
                'Instancier un objet Commande
                ObjetCommand = New OleDbCommand
                ObjetCommand.Connection = ObjetConnection
                ObjetCommand.CommandType = CommandType.Text
                ObjetCommand.CommandText = "INSERT INTO Calendar_net ( [Date], [début], [Fin], [Durée], [Objet], [Nom], [De], [Contenu], [Categories] ) VALUES ('" & date1 & "', '" & début & "', '" & fin & "', '" & duree & "', '" & objet & "', '" & nom & "', '" & de & "', '" & body & "', '" & categories & "')"
                ObjetCommand.ExecuteNonQuery()
     
                tmp = tmp + 1 '(oItems.Count / 8) 
                ProgressBar1.Value = tmp
     
                ' Nettoyage
                oApp = Nothing
                oNS = Nothing
                début = Nothing
                fin = Nothing
                date1 = Nothing
                duree = Nothing
                objet = Nothing
                nom = Nothing
                de = Nothing
                body = Nothing
                categories = Nothing
     
            Next i
    j'ai un problème avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ObjetCommand.CommandText = "INSERT INTO Calendar_net ( [Date], [début], [Fin], [Durée], [Objet], [Nom], [De], [Contenu], [Categories] ) VALUES ('" & date1 & "', '" & début & "', '" & fin & "', '" & duree & "', '" & objet & "', '" & nom & "', '" & de & "', '" & body & "', '" & categories & "')"
    si je laisse les VALUES en variable, il me fait un 1er traitement, il va jusqu'à "Next i" puis remonte à "For i" il lit tout jusqu'à "ObjetCommand.ExecuteNonQuery()" et sur la commande il bloque...

    si je change ma commande et je remplace les variables par du texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ObjetCommand.CommandText = "INSERT INTO Calendar_net ( [Date], [début], [Fin], [Durée], [Objet], [Nom], [De], [Contenu], [Categories] ) VALUES ('09/15/2010', '09/30/2010 02:30', '09/15/2010 04:15', 'h:mm', '0000000', 'non de l'article', 'name', '', 'derniere minute')"
    la ca marche, j'ai 100 lignes identique dans ma table mais ca marche,

    je sais pas trop, mais j'ai l'impression qu'en mettant à jour les variables il bug ???

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 161
    Par défaut
    Quel message il t'affiche lorsqu'il se bloque ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    rien il est inerte, lol il bloque sur la ligne et je suis obliger de l'arrêter manuellement

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Ces 3 lignes là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                ObjetCommand = New OleDbCommand
                ObjetCommand.Connection = ObjetConnection
                ObjetCommand.CommandType = CommandType.Text
    sont à mettre en dehors de la boucle For.

    Dans ton cas, la ligne suivante (avec la requete) pourrait elle-aussi être mise en dehors de la boucle si tu utilisait une requete paramétrée.

    Et indique le message d'erreur que tu obtiens que l'on y voie plus clair.

    Et supprime aussi les 2 "On Error ...". On utilise plus ça en .Net

  5. #5
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    Je crois que c'est parce que dans le item '.Body' j'ai un élément qui est avec plusieurs sauts de ligne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    body = Replace(.Body, "&0A", vbCrLf) 'Contenu
    et mon code doit merder

  6. #6
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    tu doit surement ouvrir la connexion avant d'exécuter ta requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ObjetCommand.open()
    ObjetCommand.ExecuteNonQuery()
    et aprés la fermer avec .close


    cordialement

  7. #7
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    non pour la connection je l'ouvre et ferme qu'une seule fois et c'est en dehors de ma boucle, je crois que ça vient du .body

  8. #8
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    d accord

    Je crois que c'est parce que dans le item '.Body' j'ai un élément qui est avec plusieurs sauts de ligne...
    essaye de mettre body.ToString et vérifie que ta base peut enregistrer toute la chaine en fonction du nombre de caractère

    t'es sur qu'il ne te met aucun message d'erreur ? c'est très bizarre tout ca !

  9. #9
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    non .body.ToString ne marche pas, non j'ai aucun message d'erreur, il reste figer sur la command et rien

  10. #10
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    ta essayé d'afficher .body ?

  11. #11
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    oui .body... j'affiche bien

    j'ai reussi a avoir un message d'erreur, lol en lancant le Release:
    Erreur de syntaxe (opérateur absent) dans l'expression ''PLUS D'ESSENCE', 'essence', 'VITU'.

  12. #12
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    ca commence par une double quote et ca finit par un quote simple ?!?

    c'est enregistrer dans outlook ca ?

  13. #13
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    voici l'erreur d'execution + le fichier de mon agenda, je vois pas trop ce qui bloque là:

    [IMG][/IMG]

  14. #14
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    c'est pas <'> d'essence qui merde

  15. #15
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    essaye de remplacer les ' par des espace grâce a body.substring("'" , " ")

  16. #16
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    oui c'est ca j'ai enlever le <'> et ca passe, je peux pas l'enlever de tout mais message, y a pas un truc pour ca

  17. #17
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    ok, je l'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     With objItem
                        début = .Start 'Format(.Start, "dd/MM/yyyy H:mm") 'Début
                        fin = .End 'Format(.End, "dd/MM/yyyy H:mm") ' Fin
                        date1 = Format(.End, "dd/M/yyyy") ' Date
                        duree = Format((.Duration / 1440) / 1, "H:mm") ' Durée
                        objet = .Subject ' Objet
                        nom = .Location.Substring("'", " ") ' Nom
                        de = .Organizer ' De
                        body = Replace(.Body.Substring("'", " "), "&0A", vbCrLf) 'Contenu
                        'Rs!Contenu = strTemp 
                        categories = .Categories.Substring("'", " ") ' Categories
                    End With
    du coup maintenant j'ai :
    La conversion de la chaîne "'" en type 'Integer' n'est pas valide. ---> System.FormatException: Le format de la chaîne d'entrée est incorrect.

  18. #18
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    regarde le format ta colonne dans ta ta table

  19. #19
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    je suis en mémo pour tout sauf la date1

    c'est le
    .Substring("'", " ")
    qui fou la merde

  20. #20
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    hé bien c'est autre chose que les quote qui font tout planter

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/05/2007, 10h35
  2. [VB.NET] Inventaire SQL sous VB.Net + SMO
    Par _n1n1_ dans le forum Accès aux données
    Réponses: 2
    Dernier message: 18/04/2007, 16h37
  3. [SQL 2005][ASP.net 2]Insertion de date dans une table
    Par skystef dans le forum Accès aux données
    Réponses: 2
    Dernier message: 29/12/2006, 09h26
  4. [SQL Server][ASP.net] clefs étrangères qui ne se propagent pas
    Par skystef dans le forum Accès aux données
    Réponses: 3
    Dernier message: 21/12/2006, 11h56

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