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

Développement Windows Discussion :

Partir sur de bonnes bases


Sujet :

Développement Windows

  1. #1
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut Partir sur de bonnes bases
    Bonjour à tous.

    J'ai créé une base de donnée avec un exécutable avec ACCESS. Ça fonctionne seulement j'aimerai passer au rang supérieur en créant une "vraie" application windows compatible de windows XP à windows 10 en visual basic.net en windows form.
    Il y aura que des "formulaires" dans lesquels on renseigne les données, des requêtes, des graphiques.

    Je viens juste d'installer visual studio 2013, regardé un peu le logiciel, parcouru des tuto, cours, forum.

    Mais je sais pas comment bien débuter ce projet, le soucis vient de la base de donnée.

    Est ce que je doit garder mes tables crées dans access et les intégrer dans le programme ou dois-je créer une nouvelle base dans visual studio? Sachant que l'utilisateur final utilisera sa base en local.

    Merci pour vos conseils et votre aide.

    Cordialement

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    access même si ce n'est pas considéré comme une vraie base de données par les pro peut très bien convenir pour une base locale
    donc tu peux garder tes tables sans problème

    depuis l'appli tu pourras faire des requetes comme sur access, via system.Data.oledb.oledbconnection oledbcommand et oledbdatareader

    après les débutants utilisent des datatable, dataset et autres dataadapter, qui servent au stockage des données en mémoire et à la génération des requetes d'update
    ca s'intègre plus ou moins bien avec les controles windows forms
    mais bon ca reste pour les débutants, à toi de voir si tu préfères avec ou sans

    après il faut lire des cours sur la poo et plein d'autres choses avant de commencer à coder, pour bien comprendes les concepts de .net
    j'ai récemment mis une petite liste des choses à voir ici : http://www.developpez.net/forums/d16...e/#post8805608
    c'était pour du c# mais c'est pareil que vb.net, seule la syntaxe change (genre des { et } au lieu de then et end if)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Créer une base de donnée en SQL Server Compact (directement avec visual studio) ne serait - il pas plus facile pour travailler sur les enregistrements, les requêtes etc?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je ne vois pas en quoi

    déjà il n'y a pas qu'avec sql server CE que tu peux lier ta base dans VS, je pense qu'avec access ca marche aussi
    par contre ce n'est pas une bonne idée je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Donc c'est bien ce que je dis vaut mieux la faire en SQL Server Compact si avec access c'est pas la meilleur des solutions.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je n'ai pas dit ca

    j'ai dit que vs doit gérer access pour la liaison en mode design, mais que de toute facon je n'envisage pas la liaison en mode design comme une bonne solution

    après si tu ne veux pas être développeur de métier, les bonnes pratiques tu peux passer outre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Bon j'ai réussi a créer une base de donnée avec Microsoft SQL Server (SqlClient) et sa connexion.
    Ensuite j'ai réussi a ajouter une table
    Ensuite sur mon form j'arrive à afficher les valeurs contenues dans cette table avec un listbox
    Ensuite et c'est là que ça coince, je n'arrive pas a ajouter un enregistrement dans cette table grrrrrrrrrrrrrrrrr

    Sur mon form j'ai un bouton qui m'ouvre un inputbox, je saisi la valeur mais quand j’appuie sur ok rien ne s'ajoute dans ma table!

    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
    Imports System.Data.OleDb
    Imports System.Data.SqlClient
    Imports System.Data
    Imports System.Data.Sql
     
    Public Class Form1
     
        Public Sub fonction_Ajouter(ByVal AjouterNew As String)
            Dim Requete As String = "Insert into Tbl_Especes(Espece_ID) values ('" & AjouterNew & "')"
            Dim Commande As New SqlCommand(Requete)
     
            Try
                Commande.ExecuteNonQuery()
            Catch ex As System.Data.SqlClient.SqlException
                MsgBox(ex.Message, MsgBoxStyle.Critical)
            End Try
        End Sub
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: cette ligne de code charge les données dans la table Database1DataSet.Tbl_Especes.
            Vous pouvez la déplacer ou la supprimer selon vos besoins.'
            Me.Tbl_EspecesTableAdapter.Fill(Me.Database1DataSet.Tbl_Especes)
     
        End Sub
     
        Private Sub BtnNew_Click(sender As Object, e As EventArgs) Handles BtnNew.Click
            Dim AddNew As String
     
            AddNew = InputBox("Veuillez saisir la nouvelle espèce :", "NOUVELLE ESPECE")
            If AddNew <> "" Then
                fonction_Ajouter(AddNew)
            End If
        End Sub
    End Class

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    il faut fournir un objet connection à l'objet command pour qu'il sache sur quelle base de données il doit exécuter la requête
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Excuse moi mais tu es très flou dans tes réponses

    Tu veux dire quoi? Qu'il faut ajouter une connexion à ma base de donnée (Database1.mdf) dans mon programme?
    Quelque chose dans ce style?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Dim Connexion As New SqlConnection("Data Source=\Database1.mdf")
            Try
     
                Connexion.Open()
                MsgBox("Etat de la connexion : " & Connexion.State)
                Connexion.Close()
     
            Catch e As Exception
     
                MsgBox("L'erreur suivante a été rencontrée :" & e.Message)
            End Try
    Si c'est bien ça que tu veux dire, je comprends pas pourquoi il faut créer une connexion sachant que la connexion est déjà faite avec l'assistant ??

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    parce qu'il ne faut partir du principe que l'outil ne sert à faire que ce que tu veux en faire
    ni que l'outil est devin

    il est tout à fait possible de faire des connexions simultanées sur des bases de données différentes sur des serveur différents
    et dans ce cas la requête comment devinerait elle où elle doit s'exécuter ?

    tout est plus complexe car tout peut l'être réellement
    c'est un outil pro, donc c'est aux débutants de s'élever ^^

    donc l'objet command a une propriété connection, dans laquelle il faut mettre ton objet connection
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    La connexion est faite mais toujours impossible d'ajouter un enregistrement dans une table

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    dans le principe quand un truc se passe mal en .net il y a une exception, qui est une erreur, avec un type, un message explicite, et plein d'autres infos comme le numéro de ligne qui plante

    ce message ne sert pas qu'à faire une recherche sur google pour trouver la solution à son problème
    il sert aussi à expliquer son problème à quelqu'un sur un forum plutot que d'écrire le totalement inutile message "a marche pas ! gneu !"
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    il sert aussi à expliquer son problème à quelqu'un sur un forum plutot que d'écrire le totalement inutile message "a marche pas ! gneu !"
    Je dois le prendre comment ça??

    Tu aurais pu dire : "t'as oublié de communiquer le message d’erreur donné par le débogueur." ou "Quel message te donne le débogueur" plutôt que d'écrire le totalement inutile message "moi ronchon ! gneu !"

    Si certaines personnes postent sur ce forum en mettant [Débutant] au début de leur post ce n'est pas pour rien...je viens du monde de Access et son VBA, cela fait 3 jours à peine que je suis sur VS avec VB.NET.
    J'avance doucement mais j'avance

    Bref j'ai réussit à écrire un enregistrement dans ma table en utilisant la bonne connexion et en ajoutant ce qu'il manquait dans SqlCommand(Requete)

    Maintenant je travail sur le rafraichissement de la listbox pour faire apparaitre le nouvel enregistrement.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par meehan Voir le message
    Je dois le prendre comment ça??
    c'est juste qu'on en voit beaucoup en ce moment, donc de temps en temps on se lache ^^

    Citation Envoyé par meehan Voir le message
    Tu aurais pu dire : "t'as oublié de communiquer le message d’erreur donné par le débogueur." ou "Quel message te donne le débogueur" plutôt que d'écrire le totalement inutile message "moi ronchon ! gneu !"
    gg

    Citation Envoyé par meehan Voir le message
    Si certaines personnes postent sur ce forum en mettant [Débutant] au début de leur post ce n'est pas pour rien...
    être débutant en vb.net je veux bien, mais objectivement, tu crois qu'en disant "ca marche pas" on aurait pu te répondre quel était le problème ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  15. #15
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    être débutant en vb.net je veux bien, mais objectivement, tu crois qu'en disant "ca marche pas" on aurait pu te répondre quel était le problème ?
    Je suis tout à fait d'accord avec toi, c'était mon intention de départ, seulement j'ai fait autre chose, puis suis revenu dessus et j'ai posté sans faire gaffe.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ca m'a fait ma petite distraction c'est déjà ça
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  17. #17
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Re!

    J'ai 2 tables, Clients et Articles.
    Clients comprend plusieurs champs : ID, Nom, Prenom, Articles
    Articles comprend plusieurs champs : ArticleID, Couleur, Poids

    Articles et ArticleID sont liés par une relation de 1 à plusieurs
    Tout ça c'est dans une base access accdb

    Dans visual studio j'ai un form1, dans lequel il y a 4 textbox qui représentent ID, Nom, Prenom, Articles
    Et en dessous, un datagridView1 dans lequel il y a ArticleID, Couleur, Poids

    Comment afficher dans le datagrid seulement les enregistrements qui concernent UN seul client?

    Ex: DUPOND Paul à acheté Article1 et Article2 => Le datagridView1 doit afficher le détail des articles Article1 et Articles2
    DUPONT Jean à acheté Article5, Article8, Article12 => Le datagridView1 doit afficher le détail des articles Article5, Article8, Article12

    J'ai beau tout essayer rien ne va comme je veux pourtant dans mon DataSet.xsd j'ai bien une liaison entre les 2 tables

  18. #18
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Personne n'a d'idées?
    C'est le même principe que access lorsqu'on ajoute un sous-formulaire au formulaire

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    select ... from table where colonne_cle_etrangere = @valeurIdClient

    et ajouter un paremetre via myCommand.Parameters.addwithvalue("@valeurIdClient", l_id)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  20. #20
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    le "@" signifie quoi dans la requête?
    Car dans ma requete j'avais mis select * from Articles where ArticleID = Articles.Articles sans le "@" bien sur cela ne fonctionnais pas.

    Merci en attendant pol63.

Discussions similaires

  1. [AC-2007] Partir sur de bonnes bases - gestion de legos
    Par meehan dans le forum Modélisation
    Réponses: 5
    Dernier message: 26/11/2014, 17h44
  2. [2.x] Partir sur de bonnes bases
    Par snoopy5.0 dans le forum Symfony
    Réponses: 24
    Dernier message: 10/05/2011, 11h57
  3. Partir sur de bonnes bases
    Par meehan dans le forum Modélisation
    Réponses: 7
    Dernier message: 17/08/2009, 21h23
  4. [XML/XSL] Est ce que je pars sur une bonne base ?
    Par dinbougre dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/12/2004, 23h31

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