Créer une application C# et le relier a SQLSERVER en mode connecte de ADO.NET pas simple que ça tous d’abord je tiens de vous explique le mode connecté.
Ce mode permet à un client de se connecter à un serveur de base de données et tant que le client ne fermera pas la connexion, la connexion reste ouverte entre le client t le serveur
Tout d’abord on crée un nouveau projet C# après on crée une nouvelle base de donne et les table nécessaire a partir du visual studio ou en peut travailler sur une base de donnés existe.
Exemple de création d’une application en mode connecté
Etape 1 création d’une base de donnée a partir de dotnet
Aller vers le menu affichage -> explorateur de serveur une nouvel fenêtre vient de s’ouvrir a gauche
Clic avec le bouton droit sur connexion de donnée un menu s’affiche contient :
Ajouter une connexion si on veut travaillez sur une base de donnée existe déjà
Créer une nouvelle base de donne SQLSERVER pour une nouvelle base donnée
Click sur créer une nouvelle base de donne SQLSERVER tapez le nom du serveur et le nom de la base donnée exemple tstado puis ok
Click sur le + de connexion de donnée une nouvelle connexion vient de s’ajouter sous le nom :
nom du post\\ nom du serveur.nom de la base donnée
Click sur + bouton droit sur table et créer une nouvelle table sous le nom CLIENTS
Contient 4 champs :
IDCLIENT (clé primaire) int
NOM varchar(50)
PRENOM varchar(50)
AGE int
Etape 2 créations d’une application Windows
Aller vers le menu fichier->nouveau->projet ->visual C#->application Windows
Dans la form désigne ajouter un bouton pour on puisse tester notre application
Click sur le bouton propriété click sur l’icône d’événement puis double click sur l’événement click
Dans le code de la form ajouter a l’entête :
// pour permettre a l’application clients de se connecter au serveur
using System.Data.SqlClient ;
Dans la procédure d’événement click tapez le code suivant :
On doit déclarer une variable de type sqlconnection pour établir une connexion avec notre base donne :
SqlConnection cnx;
cnx = new SqlConnection("Data Source=.\\\\sqlexpress;Initial Catalog=tstado;Integrated Security=True;Pooling=False");
//le constructeur de la classe sqlconnection prend comme parametre la chaine de connection
/*
pour recuperer cette chaine suivez les etapes suivants ;
boton droit sur le nom de notre connexion dans l’explorateur de serveur
proproietes puis puis copier la chaine de connection dans le menu propriete
*/
cnx.Open(); // permettre d’ouvrir la connexion
/*pour pouvoir executer une requete sqlon doit declarer un objet de la class sqlcommand */
SqlCommand cmd;
cmd = new SqlCommand(); //le constructeur ne contient aucun paramètre
cmd.CommandText = "select * from CLIENTS";// on passe la requte sql
/*on definit le type de la commande commandtype.text pour une requete sql */
cmd.CommandType = CommandType .Text ;
cmd.Connection = cnx; // on affecte la command a une connexion
SqlDataReader r; // permet de lire des enregistrements de données
/* on execute la commande en lecture seul et on
affecte le resultat vers l'objet r */
r = cmd.ExecuteReader();
/*parcourir l’objet r on lecture la boucle s’arrete a la fin du parcour des enregistrements*/
while (r.Read())
{
/* on affect les different colonne de la table a des variable
en utilisant le casting car r["nom du champ"] retour un objet de class OBJECT*/
int id = (int)r["IDCLIENT"];
string nom = (string)r["NOM"];
int age = (int)r["AGE"];
/*afficher les variable qui contient un enregistrement dans un messagebox*/
MessageBox.Show(nom + " " + id.ToString() + " " + age.ToString());
}
//puis on ferme la connexion
cnx.Close();
la connexion reste ouvert de puis le code cnx.Open(); jusqu'à le code
cnx.Close();
voici le code complet:
- CODE:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace APLCONECTE1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cnx;
cnx = new SqlConnection("Data Source=.\\\\sqlexpress;Initial Catalog=tstado;Integrated Security=True;Pooling=False");
cnx.Open();
SqlCommand cmd;
cmd = new SqlCommand();
cmd.CommandText = "select * from CLIENTS";
cmd.CommandType = CommandType .Text ;
cmd.Connection = cnx;
SqlDataReader r;
r = cmd.ExecuteReader();
while (r.Read())
{
int id = (int)r["IDCLIENT"];
string nom = (string)r["NOM"];
int age = (int)r["AGE"];
MessageBox.Show(nom + " " + id.ToString() + " " + age.ToString());
}
cnx.Close();
}
0 commentaires:
Enregistrer un commentaire