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

C# Discussion :

Connexion Csharp + Sql Server 2005


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Connexion Csharp + Sql Server 2005
    Salut à vous tous.
    Avant de poster j'ai essayé de suivre le tutorial mais je suis quand même bloqué au début ^^
    On me demande d'importer Oracle.DataAccess.Client; comme reference sur C# mais il n'existe pas sur la liste des references ni dans les repertoires oracle ^^
    Je voudrais bien savoir ce que je peux faire dans ce cas ..
    Et merci ^^ (Je débute avec C#)

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Points : 103
    Points
    103
    Par défaut
    Je ne suis pas expert dans le domaine car perso je passe par odbc mais je suppose qu'il faut que t'installe le client oracle.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Je laisse tomber oracle ... Je passe à Sql Server ..
    J'ai fais ma BD et j'ai fais la liaison entre visual studio et sql serveur et là je suis en train de chercher le code à mettre sur ma première form qui ne sert qu'à l'authentification (Login,Mot de passe)

    Voici ma form:



    Je cherche à savoir quel code mettre pour le bouton "Se connecter"
    (Je rappelle qu'il s'agit de c# et sql server express edition 2005, et j'ai déjà lu les tutoriaux mais c'est un peu compliqué pour un débutant :p)

  4. #4
    Membre régulier Avatar de Marsupilami_00
    Profil pro
    Architecte logiciel
    Inscrit en
    Janvier 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Janvier 2007
    Messages : 102
    Points : 99
    Points
    99
    Par défaut
    Bonjour,

    Avant toute chose intégrer les assemblies de SQL Server puis de mettre les using adéquates pour pouvoir accéder aux objets SQLCommand et SQLConnexion
    Il faut te connecter à la base de données via le composant SqlConnexion (user + mot de passe de ton schéma SQL Serveur)
    puis tu utilises SqlCommande pour requêter la base sans oublier de lui donner le connexion faite en paramètre. Ne pas oublier de fermer la connexion.
    Je te laisse chercher la syntaxe.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Marsupilami_00 Voir le message
    Bonjour,
    Avant toute chose intégrer les assemblies de SQL Server puis de mettre les using adéquates pour pouvoir accéder aux objets SQLCommand et SQLConnexion
    Il faut te connecter à la base de données via le composant SqlConnexion (user + mot de passe de ton schéma SQL Serveur)
    puis tu utilises SqlCommande pour requêter la base sans oublier de lui donner le connexion faite en paramètre. Ne pas oublier de fermer la connexion.
    Je te laisse chercher la syntaxe.
    Merci j'ai trouvé et ça a marché =)

    Par contre j'ai un autre problème là :



    Je veux enregistrer ce qui est écrit sur les TextBox dans ma BD Sql Server.
    J'ai donc utilisé ce code :

    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
    private void button1_Click(object sender, EventArgs e)
            {
                
                // Création d'une connexion SGBD
                SqlConnection connection = new SqlConnection("database=******;server=*******\\********;User ID=**;pwd=*******");
                // Définition de la requête à exécuter
                SqlCommand cmd = new SqlCommand("INSERT INTO Reservation (IdVehicule,Agence,DateDebut,DateFin) values ('+textBox1.Text+','+textBox2.Text+','+textBox3.Text+','+textBox4.Text+')", connection);
                try
                {
     
                    // Ouverture de la connexion et exécution de la requête
                    connection.Open();
                    cmd.ExecuteNonQuery();
                    MessageBox.Show(" ExecuteNonQuery in SqlCommand executed!!");
                     connection.Close();
                }
     
                catch (Exception ex)
                {
                    MessageBox.Show("Can not open connection ! ");
                }
               
            }

    L'erreur vient de

    cmd.ExecuteNonQuery();
    Et le message d'erreur est :

    Impossible de convertir implicitement le type 'int' en 'System.Data.SqlClient.SqlDataAdapter'

  6. #6
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Points : 4 574
    Points
    4 574
    Par défaut
    C'est normal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SqlCommand cmd = new SqlCommand("INSERT INTO Reservation (IdVehicule,Agence,DateDebut,DateFin) values ('+textBox1.Text+','+textBox2.Text+','+textBox3.Text+','+textBox4.Text+')", connection);
    Tu as mal fermé les ". Du coup, tu ne passes pas les valeurs saisies dans tes TextBoxs, mais au contraire des valeurs de type String.

    Essaie plutôt comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SqlCommand cmd = new SqlCommand("INSERT INTO Reservation (IdVehicule,Agence,DateDebut,DateFin) values (" + textBox1.Text+","+textBox2.Text+","+textBox3.Text+","+textBox4.Text+")", connection);

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup pour votre réponse =)

    Le problème du ExecuteNonQuery(); a disparu

    Par contre, dès que je rempli mes champs et je clique sur Valider, ça me dit toujours :
    "Can not open connection ! "

  8. #8
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    questions de base :
    la DB est-elle démarrée et la chaine de connexion contient-elle les bonnes valeurs ?

    parfois, les erreurs viennent de ce genre de problèmes

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    C'est bon, j'ai trouvé et ça a marché ..
    Voilà le code que j'ai mis pour faciliter la tâche de certains qui pourront avoir le même problème ^^

    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
     
            private void button1_Click(object sender, EventArgs e)
            {
     
                // Création d'une connexion SGBD
                SqlConnection connection = new SqlConnection("database=****;server=*****;User ID=sa;pwd=*****");
     
                try
                {
     
                    // Ouverture de la connexion et exécution de la requête
                    connection.Open();
     
                    // Définition de la requête à exécuter
                    SqlCommand cmd = new SqlCommand("INSERT INTO Reservation (IdReservation,IdUtilisateur,IdCommande,IdVehicule,Agence,DateDebut,DateFin) values ('"+ textBox1.Text +"','"+ textBox2.Text +"','"+ textBox3.Text +"','"+ textBox7.Text +"','"+ textBox4.Text +"','"+ textBox5.Text +"','"+ textBox6.Text +"')", connection);
     
                    cmd.ExecuteNonQuery();
                    MessageBox.Show(" ExecuteNonQuery in SqlCommand executed!!");
                    connection.Close();
                }
     
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
     
     
            }
        }
    }

  10. #10
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Ta connexion n'est pas fermée si tu as une exception.

    ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Finally {
    connection.Close();
    }
    après ton bloc catch et supprime la connexion du bloc try.
    Idéalement, il faudrait tester que la connexionstate est différente de close avant de fermer.

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par kheironn Voir le message
    Ta connexion n'est pas fermée si tu as une exception.

    ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Finally {
    connection.Close();
    }
    après ton bloc catch et supprime la connexion du bloc try.
    Idéalement, il faudrait tester que la connexionstate est différente de close avant de fermer.
    Ah oui merci ^^
    Je viens d'essayer et ça marche nikel

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

Discussions similaires

  1. Connexion MS SQL Server 2005 et Visual Studio 2005
    Par dvi24 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/05/2008, 13h25
  2. C# et Connexion BD SQL SERVER 2005
    Par me_yassine dans le forum C#
    Réponses: 6
    Dernier message: 19/03/2008, 09h56
  3. Créer connexion ODBC sql server 2005
    Par noname_971 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/12/2007, 12h38
  4. [Delphi7] Connexion avec SQL Server 2005
    Par ghiles82 dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/11/2007, 16h19
  5. Problème connexion Cube SQL SERVER 2005 avec EXCEL
    Par nnasser dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 22/09/2006, 15h23

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