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

Windows Forms Discussion :

Travailler avec les "Local Database" de .net 2008


Sujet :

Windows Forms

  1. #1
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut Travailler avec les "Local Database" de .net 2008
    Bonjour,

    J'explore les database local de .Net 2008. Ça ne me réussi pas très bien jusqu'à maintenant...

    J'ai créé dans mon projet database1.sdf et ma question est plutôt simple. J'aimerais, par code sur événement d'un click de bouton, rajouter un table dans ma base de donnée locale et éventuellement changer les champs aussi, mais pour l'instant que l'ajout de cette table.

    J'ai essayer un code trouver sur le tutoriel de P. Lasserre en me croisant les doigts, mais ça me renvoie l'erreur: "Type de bd non reconnu"

    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
     
            Dim objetconnection As OleDbConnection
            Dim objetcommande As OleDbCommand
     
            Dim strconn As String
     
            strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= C:\Documents and Settings\jsicard\My Documents\Visual Studio 2008\Projects\Test_DB\Test_DB\Database1.sdf;"
     
            objetconnection = New OleDbConnection
     
            objetconnection.ConnectionString = strconn
     
            objetconnection.Open()
     
            objetcommande = New OleDbCommand
     
            objetcommande.Connection = objetconnection
     
            objetcommande.CommandType = CommandType.Text
     
            objetcommande.CommandText = "CREATE TABLE PARENT (CLI_ID INTEGER NOT NULL PRIMARY KEY, CLI_NOM CHAR(32) NOT NULL, CLI_PRENOM VARCHAR(32))"
     
            objetcommande.ExecuteNonQuery()
     
            objetconnection.Close()
    Merci de votre précieuse aide.

    PS: Suis-je mieux de travailler avec un BD externe, genre Access ou autre?
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

  2. #2
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut
    Je viens de voir que les local database de Vb.net 2008 sont en fait du même type que ceux de SQL Serveur Compact.

    Je vais explorer de ce côté..


    Désolé si c'est pas très clais, je n'y comprends absolument rien.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

  3. #3
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut Dernier test
    Salut,

    Voici mon dernier test orienter vers les commandes SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            Dim sqlstring As String
            Dim connectstring As String
     
            sqlstring = "CREATE TABLE PARENT (CLI_ID INTEGER NOT NULL PRIMARY KEY, CLI_NOM CHAR(32) NOT NULL, CLI_PRENOM VARCHAR(32))"
            connectstring = "Data Source=|DataDirectory|\Database1.sdf"
     
            Dim connection As New SqlClient.SqlConnection(connectstring)
            Dim cmd As New SqlClient.SqlCommand(sqlstring, connection)
     
            connection.Open()
            cmd.ExecuteNonQuery()
            connection.Close()
    Et voici l'erreur (évidemment ça fct pas...)
    An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

  4. #4
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    si tu utilises sql compact, ce n'est pas sqlclient.sqlcommand qu'il faut utiliser.

    Il faut déclarer une dll pour commencer. et après, ce soit etre sqclclientCE.sqlcommandCE ou un truc comme ça.
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  5. #5
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut
    En fait je "n'utilise" pas compacte, j'avais que vu sur internet que l'extension *.sdf est de la forme de compact.

    J'ai créer une local database et c'est automatiquement un database1.sdf qui se crée.

    Je vais tout de même tester ce que tu dis, merci.

    Mais ça ira à demain, là ma journée de travail est terminé!
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

  6. #6
    Membre averti Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Points : 305
    Points
    305
    Par défaut
    Ok,

    Ça fonctionne en utilisant les commandes associés à CE soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Dim connection As New sqlServerCe.SqlCeConnection(connectstring)
            Dim cmd As New SqlServerCe.SqlCeCommand(sqlstring, connection)
    Par contre il y a une erreur de type de donnée dans ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlstring = "CREATE TABLE PARENT (CLI_ID INTEGER NOT NULL PRIMARY KEY, CLI_NOM CHAR(32) NOT NULL, CLI_PRENOM VARCHAR(32))"
    il ne reconnait pas CHAR ni VARCHAR...

    j'ai essayé seulement une requête avec une colonne comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            sqlstring = "CREATE TABLE contacts2 (cli_id integer not null primary key)"
    Et ça fonctionne, ma table est créée!!!

    Merci Poulain!

    Pour les types de variables, je vais explorer s'il y a des différences de syntaxes...
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods


    JP

    Pour commencer en VB.Net: PLASSERRE!

    ou traducteur-sms.com

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

Discussions similaires

  1. [2.x] Travailler avec les locales et les URLS
    Par FMaz dans le forum Symfony
    Réponses: 2
    Dernier message: 10/05/2012, 18h28
  2. Problème avec les champ date MySql en VB.NET 2008
    Par nazzguhl dans le forum VB.NET
    Réponses: 2
    Dernier message: 09/05/2011, 15h03
  3. Réponses: 8
    Dernier message: 22/11/2005, 07h29

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