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 :

Connexion SQL Server et Application VB.net


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut Connexion SQL Server et Application VB.net
    Bonsoir,

    Je suis débutante dans l'environnement de VB.Net . J'ai trouvé des diffcultés pour faire une connexion entre mon application et base donnée SQL Serever qui est installée avec Microsoft Visual Studio 2008. J'ai cherché dans l'internet mais j'ai trouvé que j'aurai besoin d'un driver System.sql , j'ai lu aussi qu'il y a un datagrid et dataset , mais vraiment je n'arrive pas à faire la distinction ni d'atteindre mon but qui est : connectermon application au SQL server.

    Autre chose : j'ai généré à l'aide de PowerAMC le code de ma base donnée en SQL Server. Ce fichier là, je veux l'integrer dans SQL Server pour que mon application travaille sur cette base donnée.


    Vraiment j'ai besoin de vos interventions .

    MERCI infiniment d'avoir lu mon message jusqu'au bout.

    Sisiniya

  2. #2
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    Je suis aussi débutant en VB.net mais je vais essayer de t'aider quand même...
    Ton Dataset va contenir toutes les tables de ta BDD (datatable) et avec ton datagrid tu affiche les informations qu'il y a dans une datable.Si je me trompe n'hésitez pas à me reprendre.
    Quant à la connexion à une BDD il y a exactement ce qu'il te faut dans le cours de P.Lasserre:

    http://plasserre.developpez.com/cour...ees2#LXVII-D-1

    Ce lien devrait t'aider
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  3. #3
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Bonjour,

    Alors pour connecter une appli .net à sql server deux solutions :

    - soit tu utilises un modèle de données entity framework
    cela t'aideras dans la manipulation "objet" des données, les mises à jours, etc

    - soit tu réalises à la mano :
    * création des classes,
    * Utilisation de SQLConnection, SQLCommand, SQLParameter , (éventuellement), sqldatareader

    et pour récupérer les élément boucle avec le sqldatareader

    Prend les mots clés ci dessus, tapes les dans ton moteur de base de données favoris , et tu verras des exemples... mais EVITE LES DATASET (cela peut être dangereux, car gourmand en mémoire)
    Si tu ne trouves rien, reviens nous voir
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  4. #4
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Alors pour info

    Datagrid = composant graphique permettant d'afficher des collections d'items,
    sous forme de table,

    Dataset : représentation mémoire d'une base de données (A EVITER),
    il vaut mieux utiliser des collections d'objets, des ienumerables, etc
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Points : 44
    Points
    44
    Par défaut
    Pour le syntaxe de votre chaîne de connexion entre votre application et votre base de donnée vous pouvez consultez ce lien :
    http://www.connectionString.com

    pour les autres problèmes essayer de lire tous le cours de PHilippe Plassere qui vous as cité sisinya c'est le meilleur cours des débutants et plus facile à lire plus qu'il est gratuit.

  6. #6
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Oui, et il y a plus simple :
    Ouvrir un projet winform sous VS.net,
    ajouter une sqlconnection dans le designer d'un écran
    suivre le wizard, récupérer la connection string de l'objet,
    puis on peut virer le projet.

    Notez que si vous optez pour Entity Framework, le wizard apparaitra aussi
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  7. #7
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Je vous remercie tous pour votre générosité et la rapiditédans vos réponses, je vais lire le cours, et si je trouve des problèmes, je demande le pardon, car je vais demander votre aide une autre fois.

    Merci encore.

    Sisiniya.

  8. #8
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    ...
    Ton Dataset va contenir toutes les tables de ta BDD (datatable) et avec ton datagrid tu affiche les informations qu'il y a dans une datable.Si je me trompe n'hésitez pas à me reprendre.
    Attention, en fait le datagrid peut afficher n'importe quoi, pourvu qu'il soit ienumerable,
    en gros, liste d'objet ou datatable => ca marche !
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  9. #9
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,
    J'ai lu le document, et j'ai deux questions si vous me permettez bien sûr :

    1) Question :

    J'ai ajouté au projet un 'local database', puis j'ai choisi une connection à SQL Server, après j'ai crée une table de teste.
    Ensuite j'ai ajouté au projet une classe (je l'ai nommé conn_db) , ce qui m'a généré un from conn_db.vb (je sais pas pourquoi il m'a généré un form, malgrès j'ai chosi classe ). j'ai ajouté dans ce form un ListBox1 (comme dans l'exemple qu'a fourni le lien, c'est en fait pour afficher les données qui se trouve dans la table 'table1'.

    Après j'ai allé au niveau de la table1 et j'ai cliqué bouton droit -> Show Table Data pour alimenter la table avec des données.

    Voilà le code que j'ai écrit dans la classe conn_db.vb :

    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
     
    Imports System
    Imports System.Data
    Imports Microsoft.VisualBasic
    Imports System.Data.SqlClient
     
    Public Class conn_db
        Inherits System.Windows.Forms.Form
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Dim MyConnexion As SqlConnection = New SqlConnection("Data Source=SISINIYA-PC\SQLEXPRESS;" & _
            "Integrated Security=True;Initial Catalog=msdb")
     
            Dim Mycommand As SqlCommand = MyConnexion.CreateCommand()
     
     
            Mycommand.CommandText = "Select login from table1"
     
            MyConnexion.Open()
     
            Dim myReader As SqlDataReader = Mycommand.ExecuteReader()
     
            Do While myReader.Read()
     
                ListBox1.Items.Add(myReader.GetString(0))
     
            Loop
     
            myReader.Close()
     
            MyConnexion.Close()
     
        End Sub
     
        Private Sub InitializeComponent()
            Me.SuspendLayout()
            '
            'conn_db
            '
            Me.ClientSize = New System.Drawing.Size(284, 262)
            Me.Name = "conn_db"
            Me.ResumeLayout(False)
     
        End Sub
    Après j'ai éxecuter le projet, mais rien n'est s'afficher dans le ListBox. En fait, je sais pas est ce que je dois faire appel à le nom de la classe dans le main (vraiment je sais pas, car j'ai de l'habitude de travailler avec java) ... ? ou bien une classe s'execute automatiquement lors de l'execution du projet ?


    2) Question :

    J'ai généré avec PowerAmc ma base de donné qui contient pour le teste une table. Et je désire l'integrer dans mon application (car j'ai besoin de travailler avec 8 tables + les relations entre eux , ça me fait plus que 8 tables et c'est difficile de s'ammuser à créer à la main les tables ). Je demande si vous pouvez me guider à ce propos ?


    Et Je vous remercie infiniment pour vos aides ...

    Sisiniya.

  10. #10
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    ---


    Concernant le fait que tu ne vois pas de résultats :
    As tu placé un point d'arret dans ton code (ligne qui instancie la sqlconnection), et l'as tu exécuté en debug, ligne par ligne pour voir ce qu'il se passe ?

    Sinon, ton code semble correct... hormis :

    Tu as omis de préciser le type de commande pour la sqlCommand :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandType = CommandType.Text
    (avant l'exécution)

    Juste un truc, mais je chipote, en java on accède aux colonnes du reader via les index des items, en .net tu peux utiliser le nom des champs retournés
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.Add(myReader.GetString(0))
    devient
    ListBox1.Items.Add(Convert.ToSingle(reader("Login")))
    Tiens nous au courant
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  11. #11
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Concernant le problème de form,
    Lorsque tu lui demandes (à vs) d'ajouter un fichier, il te propose un écran qui te permet de choisir le type de classe, tu as du probablement sélectionner Form, et non classe.

    Concernant ton fichier poweramc.

    Lorsque on manipule Sql Server, il existe un outil nommé SQL Server Management studio (qui existe en version express => gratuite).
    Cet outil te permet de manipuler les bases sans taper de scritp (ou en utilisant les scripts). Il offre aussi la possibilité de visualiser le schéma de Bdd et de le manipuler à chaud.

    Pour insérer un fichier power amc dans ta solution ;
    copie le fichier dans l'arbo de ton projet,
    Affiche le solution explorer, et dans cette fenetre clique sur l'icone te permettant de lister TOUS les fichier (même ceux qui ne font pas partie du projet),
    clique droit sur ton power amc, et choisis inclure dans le projet.
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  12. #12
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    Merci benji_dv pour vos réponses.
    J'ai ajouté une base qui s'appelle Clients et qui contient une table appellé 'Contacts' . Ensuite quand j'ai executé le code, il me génére une exeception dans le select, précisement , il me dit que l'objet Contacts n'est pas connu. J'ai modifié la requete en ajoutant Clients.Contacts mais il me dit toujours que Clients.Contacts est inconu.



    Merci pour l'aide ...

  13. #13
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Merci benji_dv pour vos réponses
    avec plaisir !!! mais vous/tu peux me tutoyer (me prend un coup de vieux)

    C'est normal, si tu regardes la chaine de connexion (j'ai oublié de l'analyser hier, autant pour moi ... allez encore un car je le mérite )

    tu précises ";Initial Catalog=msdb"
    Attention, initial catalog= le nom de la base de données à attaquer,
    msdb = microsoft database , c'est à dire une des bases de données permettant à SQL Server de fonctionner. Il ne faut en aucun cas utiliser ces bases là (ce sont des bases "administratives" internes à sql server.

    Donc pour toi :
    initial catalog=Clients



    essaie cela, et reviens me voir, il faut que l'on aborde le sujet de la sécurité ... pour ta connexion.
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  14. #14
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    ^_^ J'ai de l'habitude de vouvoyez surtout les gens que je ne connaît pas (alors merci de le supporter)

    Merci Beaucoup pour vos réponse. Heureusement, j'ai réussi la connexion avec une base donnée que j'ai crée via SQL Server Manager.

  15. #15
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Avec plaisir, si d'aventure, vous avez encore besoin d'aide, n'hésitez pas.
    PS : n'oubliez pas de marquer le sujet comme résolu.
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  16. #16
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    Merci pour votre générosité. je vais le signaler comme résolu

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

Discussions similaires

  1. Base de donnée Sql Server et application asp.net
    Par Temoua dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 24/11/2014, 11h27
  2. connecter BD sql server à une application VB.NET
    Par MananaNina dans le forum Accès aux données
    Réponses: 0
    Dernier message: 30/05/2014, 01h45
  3. Réponses: 4
    Dernier message: 02/04/2010, 17h25
  4. Problème connexion sql server 2005 avec asp.net en C#
    Par PKO06 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 29/05/2007, 18h46
  5. [VB.NET] Problème de connexion à SQL Server
    Par Nesmontou dans le forum ASP.NET
    Réponses: 8
    Dernier message: 29/07/2005, 10h12

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