Il s'agit d'un package C# Contenants 3 classes permettant chacune la connexion, la déconnexion, l'extraction et l'insertion de données pour les bases Oracle XE, SQL Server et les fichiers CSV.
Vous pouvez générer directemen une bibliothèque (DLL) et la référencer dans vos projets. Ainsi vous auriez la possibilité d'appeler n'inporte quelle méthode (extraction,insertion, connexion, déconnexion).
Pour générer la solution (DLL) du porjet :
1- Installer visual studio 2008.
2- Extraire le fichier "DB Connect C# ClassLibrary1.zip"
3- Ouvrir le raccourci du projet "ClassLibrary1" 9
4- dans visual studio activer le menu "Projet" et choisir la commande "Propriétés du projet ClassLibrary1"
5- dans la rubrique "Générer" choisir "chememin de sortie"(votre dossier projet "classlibrery1")
6- Activer le menu "Générer" puis choisir la commande "Générer la solution"
7- Quatres fichiers seront créer dans le dossier que vous avez choisi dans l'étape 5 (vous allez utiliser le fichier "DBConnectClassLibrery.dll" comme référence dans d'autres projets)
merci de choisir ce code!!!!!!!!!!!!!!!!
Pour plus d'informations contactez Maher Saïdani sur : maher.saidani@gnet.tn
Source / Exemple :
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data.OracleClient;
using System.IO;
namespace ProjetIGL
{
/// <summary>
/// Classe oracle connexion déconnexion extraire loder
/// </summary>
/// <summary>
/// Classe oracle connexion déconnexion extraire loder
/// </summary>
public class OracleConnect
{
public DataTable SourceDestOracle = new DataTable();
///Methode connecter oracle
public OracleConnection ConnectOracle(string serveurOracle, int port, string UserOracle, string PasswordOracle)
{
System.Data.OracleClient.OracleConnection OraCon = new OracleConnection();
string conString;/// chemin de connexion oracle
conString = "Data Source=" + serveurOracle + ":" + port + ";User Id=" + UserOracle + ";Password=" + PasswordOracle + ";";
OraCon.ConnectionString = conString;
try
{
OraCon.Open();
MessageBox.Show("Connexion ORACLE effectuée avec succé");
return OraCon;
}
catch (Exception e)
{
MessageBox.Show("Impossible de connecter Oracle " + e);
return OraCon;
}
}///fin Connect
/// Methode Déconnexion Oracle
public bool DisconnectOracle(OracleConnection OraCon)
{
try
{
OraCon.Close();
MessageBox.Show("Déconnnexion ORACLE effectuée avec succé");
return false;
}
catch (Exception e)
{
MessageBox.Show("Impossible de déconnecter Oracle " + e);
return false;
}
}///Fin disconnect
///Extraire les données
public DataTable ExtractOracle(string Requete, OracleConnection Cn)
{
int i = 0;
DataRow Tableau;
OracleDataReader DSResultat;
DataTable SourceDestOracle = new DataTable("Test");
///Définition des colonnes nécessaires
System.Data.DataColumn ColID;
System.Data.DataColumn ColNOM;
System.Data.DataColumn ColPRENOM;
System.Data.DataColumn ColSEXE;
System.Data.DataColumn ColAGE;
System.Data.DataColumn ColVILLE;
ColID = new DataColumn();
ColNOM = new DataColumn();
ColPRENOM = new DataColumn();
ColSEXE = new DataColumn();
ColAGE = new DataColumn();
ColVILLE = new DataColumn();
try
{
///Création des colonnes dans le Data Table
ColID.DataType = System.Type.GetType("System.Int32");
ColID.ColumnName = "IDCLIENT";
SourceDestOracle.Columns.Add(ColID);
ColNOM.DataType = System.Type.GetType("System.String");
ColNOM.ColumnName = "NOM";
SourceDestOracle.Columns.Add(ColNOM);
ColPRENOM.DataType = System.Type.GetType("System.String");
ColPRENOM.ColumnName = "PRENOM";
SourceDestOracle.Columns.Add(ColPRENOM);
ColSEXE.DataType = System.Type.GetType("System.String");
ColSEXE.ColumnName = "SEXE";
SourceDestOracle.Columns.Add(ColSEXE);
ColAGE.DataType = System.Type.GetType("System.Int32");
ColAGE.ColumnName = "AGE";
SourceDestOracle.Columns.Add(ColAGE);
ColVILLE.DataType = System.Type.GetType("System.String");
ColVILLE.ColumnName = "VILLE";
SourceDestOracle.Columns.Add(ColVILLE);
}
catch (Exception e)
{
MessageBox.Show("Impossible d'extraire à partir d'oracle " + e);
}
try
{
DateTime TempsExtractORACLE = DateTime.Now;
OracleCommand Cmd = new OracleCommand(Requete, Cn);
DSResultat = Cmd.ExecuteReader();
while (DSResultat.Read())
{
Tableau = SourceDestOracle.NewRow();
Tableau["IDCLIENT"] = DSResultat.GetInt32(5);
Tableau["NOM"] = DSResultat.GetString(0);
Tableau["PRENOM"] = DSResultat.GetString(1);
Tableau["SEXE"] = DSResultat.GetString(2);
Tableau["AGE"] = DSResultat.GetInt32(3);
Tableau["VILLE"] = DSResultat.GetString(4);
SourceDestOracle.Rows.Add(Tableau);
i++;
}
TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsExtractORACLE);
MessageBox.Show("Extraction Oracle Effectuée avec succé \n Le temps d'extraction de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
DSResultat.Close();
return SourceDestOracle;
}
catch (Exception e)
{
MessageBox.Show("Extraction ORACLE impossible " + e);
return SourceDestOracle;
}
}///Fin extraire données
public void LoadOracle(DataTable Ds, OracleConnection Cn)
{
int IDCLIENT;
String NOM;
String PRENOM;
String SEXE;
int AGE;
String VILLE;
string Requete;
DataTableReader DR;
try
{
DR = Ds.CreateDataReader();
DateTime TempsLoadORACLE = DateTime.Now;
while (DR.Read())
{
string val;
val = DR[0].ToString();
IDCLIENT = Convert.ToInt32(val);
NOM = DR[1].ToString();
PRENOM = DR[2].ToString();
SEXE = DR[3].ToString();
val = DR[4].ToString();
AGE = Convert.ToInt32(val);
VILLE = DR[5].ToString();
Requete = "INSERT INTO CLIENTDEST (NOM,PRENOM,SEXE,AGE,VILLE,IDCLIENT) VALUES ('" + NOM + "','" + PRENOM + "','" + SEXE + "'," + AGE + ",'" + VILLE + "'," + IDCLIENT + ")";
OracleCommand Cmd1 = new OracleCommand(Requete, Cn);
//Cmd1.Prepare();
Cmd1.ExecuteNonQuery();
}
TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsLoadORACLE);
MessageBox.Show("Chargement ORACLE effectué avec succé \n Le temps de chargement de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
DR.Close();
}
catch (Exception e)
{
MessageBox.Show("Chargement ORACLE Impossible " + e);
}
}
}///Fin classe Oracle
/// <summary>
/// Classe SQL Server connexion déconnexion extraire loder
/// </summary>
public class SqlConnect
{
///Methode connecter SQL server
public SqlConnection ConnectSql(string ServeurSql, string BaseSql, string UserSql, string PasswordSql)
{
System.Data.SqlClient.SqlConnection SqlCon = new SqlConnection();
string conString;/// chemin de connexion oracle
conString = "Data Source=" + ServeurSql + "; Initial Catalog =" + BaseSql + "; User Id =" + UserSql + "; Password = " + PasswordSql + ";";
SqlCon.ConnectionString = conString;
try
{
SqlCon.Open();
MessageBox.Show("Connexion SQL Server effectuée avec succé");
return SqlCon;
}
catch (Exception e)
{
MessageBox.Show("Connexion SQL Server impossible " + e);
return SqlCon;
}
}///fin Connect
/// Methode Déconnexion SQL Server
public bool DisconnectSql(SqlConnection SqlCon)
{
try
{
SqlCon.Close();
MessageBox.Show("Déconnnexion SQL Server effectuée avec succé");
return false;
}
catch (Exception e)
{
MessageBox.Show("Déconnecion SQL Server Impossible " + e);
return false;
}
}///Fin disconnect
///Extraire les données
public DataTable ExtractSql(string Requete, SqlConnection Cn)
{
int i = 0;
DataRow Tableau;
SqlDataReader DSResultat;
DataTable SourceDestSql = new DataTable("Test");
System.Data.DataColumn ColID;
System.Data.DataColumn ColNOM;
System.Data.DataColumn ColPRENOM;
System.Data.DataColumn ColSEXE;
System.Data.DataColumn ColAGE;
System.Data.DataColumn ColVILLE;
ColID = new DataColumn();
ColNOM = new DataColumn();
ColPRENOM = new DataColumn();
ColSEXE = new DataColumn();
ColAGE = new DataColumn();
ColVILLE = new DataColumn();
try
{
ColID.DataType = System.Type.GetType("System.Int32");
ColID.ColumnName = "IDCLIENT";
SourceDestSql.Columns.Add(ColID);
ColNOM.DataType = System.Type.GetType("System.String");
ColNOM.ColumnName = "NOM";
SourceDestSql.Columns.Add(ColNOM);
ColPRENOM.DataType = System.Type.GetType("System.String");
ColPRENOM.ColumnName = "PRENOM";
SourceDestSql.Columns.Add(ColPRENOM);
ColSEXE.DataType = System.Type.GetType("System.String");
ColSEXE.ColumnName = "SEXE";
SourceDestSql.Columns.Add(ColSEXE);
ColAGE.DataType = System.Type.GetType("System.Int32");
ColAGE.ColumnName = "AGE";
SourceDestSql.Columns.Add(ColAGE);
ColVILLE.DataType = System.Type.GetType("System.String");
ColVILLE.ColumnName = "VILLE";
SourceDestSql.Columns.Add(ColVILLE);
}
catch (Exception)
{
MessageBox.Show("Impossible de créer data TAble");
}
try
{
SqlCommand Cmd = new SqlCommand(Requete, Cn);
DSResultat = Cmd.ExecuteReader();
DateTime TempsExtractSql = DateTime.Now;
while (DSResultat.Read())
{
Tableau = SourceDestSql.NewRow();
Tableau["IDCLIENT"] = DSResultat.GetValue(0);
Tableau["NOM"] = DSResultat.GetString(1);
Tableau["PRENOM"] = DSResultat.GetString(2);
Tableau["SEXE"] = DSResultat.GetString(3);
Tableau["AGE"] = DSResultat.GetInt32(4);
Tableau["VILLE"] = DSResultat.GetString(5);
SourceDestSql.Rows.Add(Tableau);
i++;
}
TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsExtractSql);
MessageBox.Show("Extraction SQL Effectuée avec succé \n Le temps d'extraction de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
DSResultat.Close();
return SourceDestSql;
}
catch (Exception)
{
MessageBox.Show("Extraction SQL Server impossible");
return SourceDestSql;
}
}///Fin extraire données
///Methode insertion de données SQL Server
public void LoadSql(DataTable Ds, SqlConnection Cn)
{
int IDCLIENT;
String NOM;
String PRENOM;
String SEXE;
int AGE;
String VILLE;
string Requete;
SqlConnection Cnx = new SqlConnection();
Cnx = Cn;
try
{
DataTableReader DR = Ds.CreateDataReader();
DateTime TempsLoadSql = DateTime.Now;
while (DR.Read())
{
string val;
val = DR[0].ToString();
IDCLIENT = Convert.ToInt32(val);
NOM = DR[1].ToString();
PRENOM = DR[2].ToString();
SEXE = DR[3].ToString();
val = DR[4].ToString();
AGE = Convert.ToInt32(val);
VILLE = DR[5].ToString();
Requete = "INSERT INTO CLIENTdest(NOM,PRENOM,SEXE,AGE,VILLE,IDCLIENT) VALUES ('" + NOM + "','" + PRENOM + "','" + SEXE + "'," + AGE + ",'" + VILLE + "'," + IDCLIENT + ")";
SqlCommand Cmd = new SqlCommand(Requete, Cnx);
Cmd.Prepare();
Cmd.ExecuteNonQuery();
}
TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsLoadSql);
MessageBox.Show("Chargement SQL effectué avec succé \n Le temps de chargement de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
}
catch (Exception e)
{
MessageBox.Show("Chargement SQL Impossible " + e);
}
}///Fin Load SQL Server
}///Fin classe SQL Server
///Classe Fichier Csv
public class ConnectCSV
{
public StreamReader fichier;
///Méthode permettant d'ouvrir un fichier
public StreamReader CSVConnection(string FichierCSV)
{
try
{
fichier = File.OpenText(FichierCSV);
MessageBox.Show("Connexion CSV effectuée avec succé");
}
catch (Exception)
{
MessageBox.Show("Impossible d'ouvrir le fichier CSV");
}
return fichier;
}///Fin connecter CSV
///
public void CSVDisconnection(StreamReader FichierCSV)
{
try
{
FichierCSV.Close();
MessageBox.Show("Fermeture CSV effectuée avec succé");
}
catch (Exception)
{
MessageBox.Show("Impossible de efrmer le fichier CSV");
}
}
///Methode extraction csv
public DataTable ExtractCSV(StreamReader Fichier)
{
DataRow Tableau;
DataTable SourceDestCSV = new DataTable("Test");
System.Data.DataColumn ColID;
System.Data.DataColumn ColNOM;
System.Data.DataColumn ColPRENOM;
System.Data.DataColumn ColSEXE;
System.Data.DataColumn ColAGE;
System.Data.DataColumn ColVILLE;
ColID = new DataColumn();
ColNOM = new DataColumn();
ColPRENOM = new DataColumn();
ColSEXE = new DataColumn();
ColAGE = new DataColumn();
ColVILLE = new DataColumn();
try
{
ColID.DataType = System.Type.GetType("System.Int32");
ColID.ColumnName = "IDCLIENT";
SourceDestCSV.Columns.Add(ColID);
ColNOM.DataType = System.Type.GetType("System.String");
ColNOM.ColumnName = "NOM";
SourceDestCSV.Columns.Add(ColNOM);
ColPRENOM.DataType = System.Type.GetType("System.String");
ColPRENOM.ColumnName = "PRENOM";
SourceDestCSV.Columns.Add(ColPRENOM);
ColSEXE.DataType = System.Type.GetType("System.String");
ColSEXE.ColumnName = "SEXE";
SourceDestCSV.Columns.Add(ColSEXE);
ColAGE.DataType = System.Type.GetType("System.Int32");
ColAGE.ColumnName = "AGE";
SourceDestCSV.Columns.Add(ColAGE);
ColVILLE.DataType = System.Type.GetType("System.String");
ColVILLE.ColumnName = "VILLE";
SourceDestCSV.Columns.Add(ColVILLE);
}
catch (Exception)
{
MessageBox.Show("Impossible de créer data TAble");
}
string titre = fichier.ReadLine();
try
{
DateTime TempsExtractCSV = DateTime.Now;
while (fichier.Peek() >= 0)
{
/// on lit 1 ligne et on ajoute au tabeau
string ligne = fichier.ReadLine();
string[] vals = ligne.Split(';');
Tableau = SourceDestCSV.NewRow();
Tableau["IDCLIENT"] = Convert.ToDecimal(vals[0]);
Tableau["NOM"] = vals[1];
Tableau["PRENOM"] = vals[2];
Tableau["SEXE"] = vals[3];
Tableau["AGE"] = Convert.ToDecimal(vals[5]);
Tableau["VILLE"] = vals[4];
SourceDestCSV.Rows.Add(Tableau);
}
TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsExtractCSV);
MessageBox.Show("Extraction CSV Effectuée avec succé \n Le temps d'extraction de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
}
catch (Exception e)
{
MessageBox.Show("Impossible d'extraire les données CSV " + e);
}
return SourceDestCSV;
}///Fin Méthode extraction CSV
///
///Début méthode Load (insertion) CSV
public void LoadCSV(DataTable Ds, StreamWriter Fichier)
{
int IDCLIENT;
String NOM;
String PRENOM;
String SEXE;
int AGE;
String VILLE;
string Requete;
try
{
DataTableReader DR = Ds.CreateDataReader();
DateTime TempsLoadCSV = DateTime.Now;
///Ecriture de l'entete du fichier
Fichier.WriteLine("IDCLIENT NOM,PRENOM,SEXE,AGE,VILLE;");
///Remplisssage des données après l'entête
while (DR.Read())
{
string val;
val = DR[0].ToString();
IDCLIENT = Convert.ToInt32(val);
NOM = DR[1].ToString();
PRENOM = DR[2].ToString();
SEXE = DR[3].ToString();
val = DR[4].ToString();
AGE = Convert.ToInt32(val);
VILLE = DR[4].ToString();
Fichier.WriteLine(IDCLIENT.ToString() + "," + NOM + "," + PRENOM + "," + SEXE + "," + AGE.ToString() + "," + VILLE + ";");
}
TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsLoadCSV);
MessageBox.Show("Chargement CSV effectué avec succé \n Le temps de chargement de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
}
catch (Exception e)
{
MessageBox.Show("Chargement SQL Impossible " + e);
}
}///Fin méthde load CSV
}///Fin classe CSV
}///Fin namespace