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 Express 2010 - SQL Server Compact - Insertion de données en code [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Par défaut VB Express 2010 - SQL Server Compact - Insertion de données en code
    Bonjour tout le monde.

    Habituellement, je fais des requête à l'aide de SQLPlus puis importe et gère les données à l'aide de macros sous Excel.
    Néanmoins, je me rends compte qu'un grand nombre de données rends l'exécution des macros sous Excel assez lente et la consultation des données fastidieuse.
    Je me suis donc décidé à passer à VB.Net avec Visual Basic Express 2010.

    J'ai recherché et suivi des tutoriels afin de créer une base de données locale, avec SQL Serveur Compact, qui semble correspondre tout à fait à ce genre de travaux.
    Mais me voici bloqué (déjà) à l'insertion des données dans la BDD...

    Pour résumé ce que je veux faire, il s'agit donc de recueillir les données obtenues au format "txt" pour les mettre dans cette BDD locale.
    J'ai donc créé un DataSet, puis créé plusieurs tables. Et maintenant, j'essaye d'entrer certaines des données recueillies dans une des tables.
    J'ignore si la méthode que j'utilise est la bonne. En tout cas, je vous remercie par avance pour toute aide ou suggestion.

    Voici le code utilisé actuellement (il me met une erreur sur le '.Add' mais j'ignore comment la corriger) :
    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
    Imports System.IO
     
    Module Procedures
     
        ''' <summary>
        ''' Procédure permettant d'ouvrir et d'insérer les données provenant de la requête.
        ''' </summary>
        ''' <remarks></remarks>
        Sub Insertion_Resultats_Requete()
     
            Const resultats_540 As String = "D:\Coffre\Travail\3-Requetes\021-0000540\Resultats_540.txt"
     
            Dim tmp_ligne() As String
            Dim debut_resultats As Boolean = False
     
            For Each ligne As String In File.ReadLines(resultats_540)
                If debut_resultats Then
                    tmp_ligne = Split(ligne, ";")
                    _540_BDDDataSet.Infos_DRGDataTable.Add(tmp_ligne(24),
                                                           tmp_ligne(25),
                                                           tmp_ligne(26),
                                                           tmp_ligne(27),
                                                           tmp_ligne(28),
                                                           tmp_ligne(29),
                                                           tmp_ligne(30),
                                                           tmp_ligne(4) & tmp_ligne(12)
                                                           )
                Else
                    debut_resultats = ligne.Contains("NORME")
                End If
            Next
     
        End Sub
     
    End Module

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    si tu as un message d'erreur, ne crois tu pas qu'il serait utile de préciser lequel ici ?

    je ne suis pas très dataset donc je ne pourrais t'aider à ce niveau là, ce n'est pas la meilleure manière de faire (ce n'est pas forcément une mauvaise manière non plus, disons que c'est la méthode des débutants)
    l'autre méthode plus directe (le dataset est une surcouche) c'est de faire une requete
    à adapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim cmd = monsqlceconnection.createcommand
    cmd.commandtext = "insert into nomtable (col1,col2) values (@col1, @col2)"
    cmd.parameters.add("@col1",type)
    cmd.parameters.add("@col2",type)
    for each line in lignesfichier
      cmd.parameters("@col1").value = ...
      cmd.parameters("@col2").value =...
      cmd.executenonquery
    next
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Par défaut
    Oui, excuse moi.

    L'erreur indiquée est 'Add' n'est pas un membre de 'Gestion_540._540_BDDDataSet.Infos_DRGDataTable'.

    En tout cas, merci pour ta réponse, je vais essayer d'adapter le code que tu as mis.
    Mais une question de prime abord dans ce cas : pour la déclaration 'dim cmd = monsqlcconnection.createcommand', où puis-je trouver le nom de 'monsqlconnection'?
    (j'imagine que ce n'est pas le nom du dataSet donc, je vais faire des recherches mais préfère poser la question tout de suite au cas où)


  4. #4
    Membre averti
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Par défaut
    Bonjour,

    Je reviens vers vous car j'ai légèrement avancé dans la résolution de mon problème, mais je reste bloqué au moment crucial qu'est la création de la connection.

    Donc, par rapport à précédemment, voici ce que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim myConnection As SqlClient.SqlConnection = _
                New SqlClient.SqlConnection("Data Source=BDD540.sdf")
            Dim MyCommand = myConnection.CreateCommand
    Ce qui fait (j'imagine que l'erreur est causée par la première ligne du code ci-desssus) que j'ai une erreur en arrivant à cette ligne :

    Citation Envoyé par Message de l'erreur
    L'exception System.Data.SqlClient.SqlException n'a pas été gérée
    Class=20
    ErrorCode=-2146232060
    LineNumber=0
    Message=Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: Named Pipes Provider, error: 40 - Impossible d'ouvrir une connexion à SQL Server)
    Number=53
    Server=""
    Source=.Net SqlClient Data Provider
    State=0
    Merci d'avance pour votre aide, il est difficile de trouver sur le net le moyen de déclarer correctement la connection avec sql server compact et visual basic express 2010. J'imagine qu'il s'agit certainement d'une évidence et que je passe à côté.

  5. #5
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Je ne connais pas trop SQL Server Compact, j'imagine au vu de la connexion qu'il s'agit d'un simple fichier, un peu comme access.

    Du coup...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Dim myConnection As SqlClient.SqlConnection = _
                New SqlClient.SqlConnection("Data Source=BDD540.sdf")
    Moi comme ça, je me dis, qu'il ne va jamais le trouver le fichier si tu ne lui mets pas le chemin absolu, un truc du genre :


  6. #6
    Membre averti
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Par défaut
    Merci pour cette suggestion, je viens de tester mais malheureusement, cela ne change rien, l'erreur est toujours la même.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/11/2012, 12h05
  2. VWD 2010 Express et SQL Server Report Builder 3.0
    Par Invité dans le forum ASP.NET
    Réponses: 0
    Dernier message: 11/04/2011, 15h05
  3. Sql server express ou sql server compact
    Par vg-matrix dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/07/2010, 16h24
  4. integrer sql server compact v 3.1 dans VS 2010
    Par boumab dans le forum Visual Studio
    Réponses: 0
    Dernier message: 27/05/2010, 15h15
  5. création table dans VB2008 express avec sql server compact 3.5
    Par khamett dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/11/2008, 16h41

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