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 :

Problème lors de l'instruction INSERT + SQL SERVER CE


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Problème lors de l'instruction INSERT + SQL SERVER CE
    Bonjour la communauté, je suis confronté à un petit problème, j'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function ConnectBDD() As SqlCeConnection
            Dim BDDPath$ = Path.GetTempPath & "database_energie.sdf"
            File.WriteAllBytes(BDDPath, My.Resources.database_energie)
            Dim Connexion As New SqlCeConnection("Data Source= " & BDDPath)
     
            Connexion.Open()
            Return Connexion
    End Function
    La connexion à la base de données fonctionne parfaitement, néanmoins lorsque je fais une intruction INSERT via ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim connexion As SqlCeConnection = ConnectBDD()
    Dim Requete As String = "INSERT INTO t_energie_electricite (heures_pleines, heures_creuses, date_releve) VALUES ( 1111,1111, '');"
    Dim Commande As New SqlCeCommand(Requete, connexion)
    Commande.ExecuteNonQuery()
    connexion.Dispose()
    connexion.Close()
    Je n'ai aucune erreur mais aucune entrée ce fait dans ma table... En revanche les instructions SELECT ET DROP fonctionnent.

    Avez vous des idées ??

    J'utilise Visual Studio 2013

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Tu place '' dans date relevé, est-ce un string ? Si oui les texte vide sont autorisées?
    Remplace '' par null
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim connexion As SqlCeConnection = ConnectBDD()
    Dim Requete As String = "INSERT INTO t_energie_electricite (heures_pleines, heures_creuses, date_releve) VALUES ( 1111,1111, null);"
    Dim Commande As New SqlCeCommand(Requete, connexion)
    Commande.ExecuteNonQuery()
    connexion.Dispose()
    connexion.Close()

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Non ce n'est pas un problème au niveau de l'insertion SQL, Le champ peut accepter des valeur null (uniquement pour la phase de test)

    Le problème viens de la base SQL embarqué, si je mets ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function ConnectBDD() As SqlCeConnection
            Dim BDDPath$ = Path.GetTempPath & "database_energie.sdf"
            File.WriteAllBytes(BDDPath, My.Resources.database_energie)
            Dim Connexion As New SqlCeConnection("Data Source= " & BDDPath)
     
            Connexion.Open()
            Return Connexion
    End Function
    La commande SQL ne fonctionne pas, en revanche si je mets ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Function ConnectBDD() As SqlCeConnection
            Dim Connexion As New SqlCeConnection("Data Source= database_energie.sdf")
     
            Connexion.Open()
            Return Connexion
    End Function
    Cela fonctionne parfaitement, en revanche je ne peux plus exporter ma base de données a travers l'application.

    Des idées ?

    Merci d'avance

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    C'est donc un problème dans la construction de ta connectionstring.

    Que retourne Path.GetTempPath ? Il y a bien un "\" à la fin ?

    Attention aussi que sur une ligne ta variable se nomme BDDPath$ et sur l'autre BDDPath. J'imagine une faute de frappe sinon l'erreur vient de là

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je n'ai pas de problème d'accès à la base de données via la première méthode, car j'arrive a récupérer des informations via la commande SELECT.

    Je testerai quand même mais je ne pense pas que ce soit la solution

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Qu'en est-il à propos de ce "$" qui vient parasiter le nom de la variable ? Mauvais manip lors du copier/coller ou c'est plus grave ?

    EDIT : Je viens de me remarque qu'après ton inscruction ExecuteNonQuery, tu fais le Dispose avant le Close sur la connexion.

    Alors je n'ai jamais utilisé Sql Server CE mais de ce que j'en sais, c'est une DB embarquée de type fichier. Le problème ne serait-il pas là ? Il n'y aurait pas une sorte de commit à la fermeture de la connexion qui ne peut jamais se faire vu que tu disposes l'objet avant ??

Discussions similaires

  1. problème avec bulk insert sql server 2000
    Par siyassine dans le forum Administration
    Réponses: 1
    Dernier message: 25/08/2010, 08h31
  2. Réponses: 7
    Dernier message: 07/05/2009, 17h32
  3. Problème lors de l'Installation de Sql server 2005
    Par inno007 dans le forum Administration
    Réponses: 0
    Dernier message: 21/04/2009, 14h38
  4. Problème lors de l'installation de SQL SERVER 2008
    Par MedSabri dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 19/03/2008, 11h55
  5. Lenteur lors d'une insertion (sql server)
    Par shiners300 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 16/09/2005, 09h09

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