logo

Connexion SQL Serveur 2005 en C#

C'est ici que vous posterez vos questions sur les bases de données (MySQL, requêtes, connexion en c++ ou PHP...)

Connexion SQL Serveur 2005 en C#

Messagede Woote » 18 Sep 2008, 16:25

Bonjour,
Dans le terme du projet que l'on ma attribué, je dois gérer en C# les droits d'accès d'un logiciel grâce a une base de données déployé sous SQL Serveur 2005.

Je recherche donc comment :
- Etablir une connexion a ma base de donné.
- Effectuer par la suite effectué des requêtes basiques.

En vous remerciant.
Woote
 
Messages: 3
Inscription: 18 Sep 2008, 16:12

Re: Connexion SQL Serveur 2005 en C#

Messagede Woote » 19 Sep 2008, 14:39

Bien après pas mal de recherche voila un code qui fonctionne plutôt pas mal.
Seul défaut : le faite qu'il ne fonctionne qu'avec du serveur SQL, si vous désirez que le code soit multi-plateforme il faut changer les Sqlquelquechose en Dbquelquechose et penser a utiliser les factory, mais j'irai pas plus loin c'est déjà la misère sans... (si ça vous intéresse contactez moi)
_________________________________________________________________________________________
Alors d'abord on rajoute les References

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

Et on n'oublie pas de les linker au cas ou, tjrs utile ^^ (Explorateurs de solutions => clic droit sur Reference => Ajouter reference)
_________________________________________________________________________________________

Ensuite on met tout dans un try catch (c'est parfait pour récupérer et gerer les erreurs)

try
{
// On initialise deux valeurs pour les parametres de la connexion et la commande qui nous permettra de gerer la bdd
SqlConnection maConnexionSQLsrv;
SqlCommand myCommand;
string maRequete, ConnexionSQL;
string result;

//Récupération de la chaine de connexion au serveur de base de données (voir en bas pour la description de Ma BDD)
ConnexionSQL = ConfigurationManager.ConnectionStrings["Ma BDD"].ConnectionString;

maConnexionSQLsrv = new SqlConnection(ConnexionSQL);

//Requete mise a jour de la table client
maRequete = "SELECT Nom FROM Perimetre";

//Création de la commande SQL
myCommand = new SqlCommand(maRequete, maConnexionSQLsrv);
myCommand.CommandType = CommandType.Text;

//Execution de la requête
myCommand.Connection.Open();

//Recuperation de la requete
result = (string) myCommand.ExecuteScalar();
Console.WriteLine(" Affichage : " + result);

myCommand.Connection.Close();
}
catch (SqlException ex)
{
Console.WriteLine(ex);
}
_________________________________________________________________________________________
Explication de :ConfigurationManager.ConnectionStrings["Ma BDD"].ConnectionString;

En gros le principe est de recuperer dans un fichier XML appeler app.config (a integrer dans le projet) les parametres de connexion a votre bdd

voici le code qui permet de s'y connecter en utilisant votre identifiant Windows, donc penser a lui mettre les droits.


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add
name="Ma BD"
providerName="System.Data.SqlClient"
connectionString="Data Source=RentreLeNomDeVotreServeur;Initial Catalog=RentrerLeNomDeVotreBaseDeDonnée;Integrated Security=True"
/>
</connectionStrings>
</configuration>

_________________________________________________________________________________________

Et voila, si vous avez des soucis contactez moi par mail (adresse dans le profil)
Woote
 
Messages: 3
Inscription: 18 Sep 2008, 16:12

Re: Connexion SQL Serveur 2005 en C#

Messagede Tibo » 20 Sep 2008, 13:37

Si t'as d'autres questions, hésite pas ! :mrgreen:
Tibo
Administrateur du site
 
Messages: 147
Inscription: 26 Mar 2008, 13:58

Re: Connexion SQL Serveur 2005 en C#

Messagede Woote » 22 Sep 2008, 09:56

J'y penserai monsieur :D

D'ailleurs pour ceux qui passerait par la, l'utilisation des DataReaders sont parfait pour gérer les retours de requêtes quand on désire les utiliser ou les transformer.
Woote
 
Messages: 3
Inscription: 18 Sep 2008, 16:12


Retourner vers Base de donnée

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron
Hit-Parade des sites francophones