Accueil > > > CLASSE DE CONNEXION ORACLE
CLASSE DE CONNEXION ORACLE
Information sur la source
Description
Cette classe permet de se connecter à une base de données Oracle, de récupérer les données (SELECT), de faire des modifications (UPDATE, DELETE) et de lancer des procédures et des fonctions stockées.
Source
- using System;
- using System.Windows.Forms;
- using System.Collections;
- using System.Data.OracleClient;
- using System.Data;
-
- namespace ConnexionOracle
- {
- /// <summary>
- /// Classe permettant l'interface avec Oracle
- /// </summary>
- public class classOracle
- {
- #region Variables
- /// <summary>
- /// User Oracle
- /// </summary>
- private string sUser;
- /// <summary>
- /// Mot de passe Oracle
- /// </summary>
- private string sPassword;
- /// <summary>
- /// Nom de la base Oracle
- /// </summary>
- private string sBase;
- /// <summary>
- /// Nombre de lignes du résultat d'une requête
- /// </summary>
- private int iNbRows;
- /// <summary>
- /// Nombre de colonnes du résultat d'une requête
- /// </summary>
- private int iNbCols;
- /// <summary>
- /// Connexion à la base de données Oracle
- /// </summary>
- private OracleConnection oracleCnx;
- /// <summary>
- /// Instruction SQL ou procédure stockée à exécuter
- /// </summary>
- private OracleCommand oracleCmd;
- /// <summary>
- /// Flux de lignes de données stockant le résultat d'une requête
- /// </summary>
- private OracleDataReader oracleReader;
- #endregion
-
- #region Propriétés
- /// <summary>
- /// Affecte ou récupère le login Oracle
- /// </summary>
- public string User
- {
- get
- {
- return this.sUser;
- }
-
- set
- {
- this.sUser = value;
- }
- }
-
- /// <summary>
- /// Affecte ou récupère le mot de passe Oracle
- /// </summary>
- public string Password
- {
- get
- {
- return this.sPassword;
- }
-
- set
- {
- this.sPassword = value;
- }
- }
-
- /// <summary>
- /// Affecte ou récupère la base Oracle
- /// </summary>
- public string Base
- {
- get
- {
- return this.sBase;
- }
-
- set
- {
- this.sBase = value;
- }
- }
-
- /// <summary>
- /// Récupère le nombre de ligne d'une requête
- /// </summary>
- public int NbRows
- {
- get
- {
- return this.iNbRows;
- }
- }
-
- /// <summary>
- /// Récupère le nombre de colone d'une requête
- /// </summary>
- public int NbCols
- {
- get
- {
- return this.iNbCols;
- }
- }
- #endregion
-
- #region Constructeur de la classe classOracle
- /// <summary>Constructeur de la classe</summary>
- public classOracle()
- {
- this.sUser = "";
- this.sPassword = "";
- this.sBase = "";
-
- this.iNbRows = 0;
- this.iNbCols = 0;
-
- this.oracleCnx = new OracleConnection();
- this.oracleCmd = new OracleCommand();
- this.oracleReader = null;
- }
- #endregion
-
- #region Connexion à la base de données Oracle
- /// <summary>Lance un ordre de connexion à la base Oracle</summary>
- /// <example>
- /// classOracle monOracle = new classOracle();
- /// monOracle.setUser("Toto");
- /// monOracle.setPassword("mdp");
- /// monOracle.setBase("maBase");
- ///
- /// if(this.monObjetOracle.connect())
- /// {
- /// ...
- /// }
- /// </example>
- public bool connect()
- {
- try
- {
- this.oracleCnx.ConnectionString = "Password=" + this.sPassword + ";User ID=" + this.sUser + ";Data Source=" + this.sBase;
-
- this.iNbCols = 0;
- this.iNbRows = 0;
-
- oracleCnx.Open();
-
- return true;
- }
- catch(Exception)
- {
- MessageBox.Show("Impossible de se connecter à la base de données","Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
- return false;
- }
- }
- #endregion
-
- #region Déconnexion de la base de données Oracle
- /// <summary>
- /// Lance un ordre de déconnexion de la base de données Oracle
- /// </summary>
- /// <example>
- /// classOracle monOracle = new classOracle();
- /// ...
- /// this.monOracle.deconnect();
- /// </example>
- public bool deconnect()
- {
- try
- {
- oracleCnx.Close();
- return true;
- }
- catch(Exception ex)
- {
- MessageBox.Show(ex.Message,"Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
- return false;
- }
- }
- #endregion
-
- #region Récupère les valeurs d'une requête
- /// <summary>Récupère les valeurs d'une requête</summary>
- /// <param name="sQuery">Requête à exécuter</param>
- /// <returns>Renvoi les valeurs de la requête</returns>
- /// <example>
- /// classOracle monOracle = new classOracle();
- /// monOracle.setUser("Toto");
- /// monOracle.setPassword("mdp");
- /// monOracle.setBase("maBase");
- ///
- /// if(this.monObjetOracle.connect())
- /// {
- /// string sQuery="SELECT COUNT(*) FROM MaTable";
- /// object[,] resultat = this.monOracle.getQueryResult(sQuery);
- /// this.monOracle.deconnect();
- /// ...
- /// }
- /// </example>
- public Object[,] getQueryResult(string sQuery)
- {
- this.oracleCmd = new OracleCommand(sQuery, this.oracleCnx);
- this.oracleReader = null;
- this.oracleReader = this.oracleCmd.ExecuteReader();
-
- Object[,] oArrResult;
- this.iNbRows = 0;
- this.iNbCols = this.oracleReader.FieldCount;
-
- // Initialisation du tableau de retour
- while (this.oracleReader.Read()) { this.iNbRows++; }
- oArrResult = new Object[this.iNbRows,iNbCols];
-
- // Remplissage du tableau de retour
- try
- {
- this.oracleReader = this.oracleCmd.ExecuteReader();
- int i = 0;
- while (this.oracleReader.Read())
- {
- for(int j=0; j<this.iNbCols; j++)
- {
- oArrResult[i,j] = oracleReader.GetOracleValue(j);
- }
- i++;
- }
- }
- catch(OracleException oe)
- {
- this.gestionErreur(oe);
- return null;
- }
- finally
- {
- this.oracleReader.Close();
- this.oracleCmd = null;
- this.oracleReader = null;
- }
-
- return oArrResult;
- }
- #endregion
-
- #region Lance un ordre SQL de INSERT, UPDATE ou DELETE
- /// <summary>Lance un ordre SQL de INSERT, UPDATE ou DELETE</summary>
- /// <param name="sQuery">Requête à exécuter</param>
- /// <returns>Renvoi true si l'odre SQL s'est déroulé normallement, false sinon</returns>
- /// <example>
- /// classOracle monOracle = new classOracle();
- /// monOracle.setUser("Toto");
- /// monOracle.setPassword("mdp");
- /// monOracle.setBase("maBase");
- ///
- /// if(this.monObjetOracle.connect())
- /// {
- /// string sQuery="DELETE FROM MaTable";
- /// bool bResultat = this.monOracle.nonQueryOrder(sQuery);
- /// this.monOracle.deconnect();
- ///
- /// if(bResultat)
- /// {
- /// ...
- /// }
- /// }
- /// </example>
- public bool nonQueryOrder(string sQuery)
- {
- this.oracleCmd = new OracleCommand(sQuery, this.oracleCnx);
- try
- {
- this.oracleCmd.ExecuteNonQuery();
- return true;
- }
- catch(OracleException OracleEx)
- {
- this.gestionErreur(OracleEx);
- return false;
- }
- finally
- {
- this.oracleCmd = null;
- }
- }
- #endregion
-
- #region Lance une procédure PL/SQL
- /// <summary>
- /// Lance une procédure stockée PL/SQL de type procédure
- /// </summary>
- /// <param name="sQuery">Procédure stockée de type procédure à exécuter</param>
- /// <param name="param">Tableau des paramètres</param>
- /// <returns>vrai si la procédure s'est exécutée correctement, faux sinon</returns>
- /// <example>
- /// classOracle monOracle = new classOracle();
- /// monOracle.setUser("Toto");
- /// monOracle.setPassword("mdp");
- /// monOracle.setBase("maBase");
- ///
- /// string param1="blabla";
- /// string param2="blablabla";
- ///
- /// string sQuery = "SCHEMA.PACKAGE.MA_PROCEDURE";
- /// ArrayList param = new ArrayList(2);
- /// /* En admettant que le premier paramètre de ma procédure stockée MA_PROCEDURE, du package PACKAGE, sous le chéma Oracle SCHEMA, se nomme monPremierParametre (idem pour le deuxième paramètre) */
- /// param.Add(new string[] {"monPremierParametre",param1});
- /// param.Add(new string[] {"monDeuxièmeParametre",param2});
- ///
- /// if(this.monOracle.connect())
- /// {
- /// bool bRetour = this.monOracle.procStockOrder(sQuery,param);
- /// this.monOracle.deconnect();
- ///
- /// if(bRetour)
- /// {
- /// ...
- /// }
- /// }
- /// </example>
- public bool procStockOrder(string sQuery, ArrayList param)
- {
- this.oracleCmd = this.oracleCnx.CreateCommand();
- this.oracleCmd.CommandText = sQuery;
- this.oracleCmd.CommandType = CommandType.StoredProcedure;
-
- foreach(string[] tableau in param)
- {
- this.oracleCmd.Parameters.Add(tableau[0],tableau[1]);
- }
-
- try
- {
- this.oracleCmd.ExecuteNonQuery();
- }
- catch(OracleException OracleEx)
- {
- this.gestionErreur(OracleEx);
- return false;
- }
- finally
- {
- this.oracleCmd = null;
- }
-
- return true;
- }
- #endregion
-
- #region Lance une fonction PL/SQL
- /// <summary>
- /// Lance une procédure stockée PL/SQL de type fonction
- /// </summary>
- /// <param name="sQuery">Procédure stockée de type fonction à exécuter</param>
- /// <param name="param">Tableau des paramètres</param>
- /// <param name="sRetour">Intitulé de la valeur de retour</param>
- /// <param name="iLongueurRetour">Longueur de la variable de retour</param>
- /// <returns>la chaîne de caractères retournée par la fonction PL/SQL</returns>
- /// <example>
- /// classOracle monOracle = new classOracle();
- /// monOracle.setUser("Toto");
- /// monOracle.setPassword("mdp");
- /// monOracle.setBase("maBase");
- ///
- /// string param1="blabla";
- /// string param2="blablabla";
- ///
- /// string sQuery = "SCHEMA.PACKAGE.MA_FONCTION";
- /// ArrayList param = new ArrayList(2);
- /// /* En admettant que le premier paramètre de ma fonction stockée MA_FONCTION, du package PACKAGE, sous le chéma Oracle SCHEMA, se nomme monPremierParametre (idem pour le deuxième paramètre) */
- /// param.Add(new string[] {"monPremierParametre",param1});
- /// param.Add(new string[] {"monDeuxièmeParametre",param2});
- ///
- /// if(this.monOracle.connect())
- /// {
- /// /* En admettant que le paramètre de retour de ma fonction stockée se nomme monParametreRetour et est de longueur 10 (VARCHAR2(10))*/
- /// string sRetour = this.monOracle.foncStockOrder(sQuery,param,"monParametreRetour",10);
- /// this.monOracle.deconnect();
- ///
- /// if(sRetour != null)
- /// {
- /// ...
- /// }
- /// }
- /// </example>
- public string foncStockOrder(string sQuery,ArrayList param, string sRetour, int iLongueurRetour)
- {
- this.oracleCmd = this.oracleCnx.CreateCommand();
- this.oracleCmd.CommandText = sQuery;
- this.oracleCmd.CommandType = CommandType.StoredProcedure;
- this.oracleCmd.Parameters.Add(sRetour,OracleType.VarChar,iLongueurRetour);
- this.oracleCmd.Parameters[sRetour].Direction = ParameterDirection.ReturnValue;
-
- foreach(string[] tableau in param)
- {
- this.oracleCmd.Parameters.Add(tableau[0],tableau[1]);
- }
-
- try
- {
- this.oracleCmd.ExecuteNonQuery();
- return((string)this.oracleCmd.Parameters[sRetour].Value);
- }
- catch(OracleException OracleEx)
- {
- this.gestionErreur(OracleEx);
- return null;
- }
- finally
- {
- this.oracleCmd = null;
- }
- }
- #endregion
-
- #region Gestion des erreurs
- private void gestionErreur(OracleException oe)
- {
- switch(oe.Code)
- {
- case 02292 :
- MessageBox.Show("Impossible de supprimer cet élément car il est encore référencé dans une autre table.","Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
- break;
-
- default :
- MessageBox.Show(oe.Message,"Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
- break;
- }
- }
- #endregion
- }
- }
using System;
using System.Windows.Forms;
using System.Collections;
using System.Data.OracleClient;
using System.Data;
namespace ConnexionOracle
{
/// <summary>
/// Classe permettant l'interface avec Oracle
/// </summary>
public class classOracle
{
#region Variables
/// <summary>
/// User Oracle
/// </summary>
private string sUser;
/// <summary>
/// Mot de passe Oracle
/// </summary>
private string sPassword;
/// <summary>
/// Nom de la base Oracle
/// </summary>
private string sBase;
/// <summary>
/// Nombre de lignes du résultat d'une requête
/// </summary>
private int iNbRows;
/// <summary>
/// Nombre de colonnes du résultat d'une requête
/// </summary>
private int iNbCols;
/// <summary>
/// Connexion à la base de données Oracle
/// </summary>
private OracleConnection oracleCnx;
/// <summary>
/// Instruction SQL ou procédure stockée à exécuter
/// </summary>
private OracleCommand oracleCmd;
/// <summary>
/// Flux de lignes de données stockant le résultat d'une requête
/// </summary>
private OracleDataReader oracleReader;
#endregion
#region Propriétés
/// <summary>
/// Affecte ou récupère le login Oracle
/// </summary>
public string User
{
get
{
return this.sUser;
}
set
{
this.sUser = value;
}
}
/// <summary>
/// Affecte ou récupère le mot de passe Oracle
/// </summary>
public string Password
{
get
{
return this.sPassword;
}
set
{
this.sPassword = value;
}
}
/// <summary>
/// Affecte ou récupère la base Oracle
/// </summary>
public string Base
{
get
{
return this.sBase;
}
set
{
this.sBase = value;
}
}
/// <summary>
/// Récupère le nombre de ligne d'une requête
/// </summary>
public int NbRows
{
get
{
return this.iNbRows;
}
}
/// <summary>
/// Récupère le nombre de colone d'une requête
/// </summary>
public int NbCols
{
get
{
return this.iNbCols;
}
}
#endregion
#region Constructeur de la classe classOracle
/// <summary>Constructeur de la classe</summary>
public classOracle()
{
this.sUser = "";
this.sPassword = "";
this.sBase = "";
this.iNbRows = 0;
this.iNbCols = 0;
this.oracleCnx = new OracleConnection();
this.oracleCmd = new OracleCommand();
this.oracleReader = null;
}
#endregion
#region Connexion à la base de données Oracle
/// <summary>Lance un ordre de connexion à la base Oracle</summary>
/// <example>
/// classOracle monOracle = new classOracle();
/// monOracle.setUser("Toto");
/// monOracle.setPassword("mdp");
/// monOracle.setBase("maBase");
///
/// if(this.monObjetOracle.connect())
/// {
/// ...
/// }
/// </example>
public bool connect()
{
try
{
this.oracleCnx.ConnectionString = "Password=" + this.sPassword + ";User ID=" + this.sUser + ";Data Source=" + this.sBase;
this.iNbCols = 0;
this.iNbRows = 0;
oracleCnx.Open();
return true;
}
catch(Exception)
{
MessageBox.Show("Impossible de se connecter à la base de données","Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
return false;
}
}
#endregion
#region Déconnexion de la base de données Oracle
/// <summary>
/// Lance un ordre de déconnexion de la base de données Oracle
/// </summary>
/// <example>
/// classOracle monOracle = new classOracle();
/// ...
/// this.monOracle.deconnect();
/// </example>
public bool deconnect()
{
try
{
oracleCnx.Close();
return true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
return false;
}
}
#endregion
#region Récupère les valeurs d'une requête
/// <summary>Récupère les valeurs d'une requête</summary>
/// <param name="sQuery">Requête à exécuter</param>
/// <returns>Renvoi les valeurs de la requête</returns>
/// <example>
/// classOracle monOracle = new classOracle();
/// monOracle.setUser("Toto");
/// monOracle.setPassword("mdp");
/// monOracle.setBase("maBase");
///
/// if(this.monObjetOracle.connect())
/// {
/// string sQuery="SELECT COUNT(*) FROM MaTable";
/// object[,] resultat = this.monOracle.getQueryResult(sQuery);
/// this.monOracle.deconnect();
/// ...
/// }
/// </example>
public Object[,] getQueryResult(string sQuery)
{
this.oracleCmd = new OracleCommand(sQuery, this.oracleCnx);
this.oracleReader = null;
this.oracleReader = this.oracleCmd.ExecuteReader();
Object[,] oArrResult;
this.iNbRows = 0;
this.iNbCols = this.oracleReader.FieldCount;
// Initialisation du tableau de retour
while (this.oracleReader.Read()) { this.iNbRows++; }
oArrResult = new Object[this.iNbRows,iNbCols];
// Remplissage du tableau de retour
try
{
this.oracleReader = this.oracleCmd.ExecuteReader();
int i = 0;
while (this.oracleReader.Read())
{
for(int j=0; j<this.iNbCols; j++)
{
oArrResult[i,j] = oracleReader.GetOracleValue(j);
}
i++;
}
}
catch(OracleException oe)
{
this.gestionErreur(oe);
return null;
}
finally
{
this.oracleReader.Close();
this.oracleCmd = null;
this.oracleReader = null;
}
return oArrResult;
}
#endregion
#region Lance un ordre SQL de INSERT, UPDATE ou DELETE
/// <summary>Lance un ordre SQL de INSERT, UPDATE ou DELETE</summary>
/// <param name="sQuery">Requête à exécuter</param>
/// <returns>Renvoi true si l'odre SQL s'est déroulé normallement, false sinon</returns>
/// <example>
/// classOracle monOracle = new classOracle();
/// monOracle.setUser("Toto");
/// monOracle.setPassword("mdp");
/// monOracle.setBase("maBase");
///
/// if(this.monObjetOracle.connect())
/// {
/// string sQuery="DELETE FROM MaTable";
/// bool bResultat = this.monOracle.nonQueryOrder(sQuery);
/// this.monOracle.deconnect();
///
/// if(bResultat)
/// {
/// ...
/// }
/// }
/// </example>
public bool nonQueryOrder(string sQuery)
{
this.oracleCmd = new OracleCommand(sQuery, this.oracleCnx);
try
{
this.oracleCmd.ExecuteNonQuery();
return true;
}
catch(OracleException OracleEx)
{
this.gestionErreur(OracleEx);
return false;
}
finally
{
this.oracleCmd = null;
}
}
#endregion
#region Lance une procédure PL/SQL
/// <summary>
/// Lance une procédure stockée PL/SQL de type procédure
/// </summary>
/// <param name="sQuery">Procédure stockée de type procédure à exécuter</param>
/// <param name="param">Tableau des paramètres</param>
/// <returns>vrai si la procédure s'est exécutée correctement, faux sinon</returns>
/// <example>
/// classOracle monOracle = new classOracle();
/// monOracle.setUser("Toto");
/// monOracle.setPassword("mdp");
/// monOracle.setBase("maBase");
///
/// string param1="blabla";
/// string param2="blablabla";
///
/// string sQuery = "SCHEMA.PACKAGE.MA_PROCEDURE";
/// ArrayList param = new ArrayList(2);
/// /* En admettant que le premier paramètre de ma procédure stockée MA_PROCEDURE, du package PACKAGE, sous le chéma Oracle SCHEMA, se nomme monPremierParametre (idem pour le deuxième paramètre) */
/// param.Add(new string[] {"monPremierParametre",param1});
/// param.Add(new string[] {"monDeuxièmeParametre",param2});
///
/// if(this.monOracle.connect())
/// {
/// bool bRetour = this.monOracle.procStockOrder(sQuery,param);
/// this.monOracle.deconnect();
///
/// if(bRetour)
/// {
/// ...
/// }
/// }
/// </example>
public bool procStockOrder(string sQuery, ArrayList param)
{
this.oracleCmd = this.oracleCnx.CreateCommand();
this.oracleCmd.CommandText = sQuery;
this.oracleCmd.CommandType = CommandType.StoredProcedure;
foreach(string[] tableau in param)
{
this.oracleCmd.Parameters.Add(tableau[0],tableau[1]);
}
try
{
this.oracleCmd.ExecuteNonQuery();
}
catch(OracleException OracleEx)
{
this.gestionErreur(OracleEx);
return false;
}
finally
{
this.oracleCmd = null;
}
return true;
}
#endregion
#region Lance une fonction PL/SQL
/// <summary>
/// Lance une procédure stockée PL/SQL de type fonction
/// </summary>
/// <param name="sQuery">Procédure stockée de type fonction à exécuter</param>
/// <param name="param">Tableau des paramètres</param>
/// <param name="sRetour">Intitulé de la valeur de retour</param>
/// <param name="iLongueurRetour">Longueur de la variable de retour</param>
/// <returns>la chaîne de caractères retournée par la fonction PL/SQL</returns>
/// <example>
/// classOracle monOracle = new classOracle();
/// monOracle.setUser("Toto");
/// monOracle.setPassword("mdp");
/// monOracle.setBase("maBase");
///
/// string param1="blabla";
/// string param2="blablabla";
///
/// string sQuery = "SCHEMA.PACKAGE.MA_FONCTION";
/// ArrayList param = new ArrayList(2);
/// /* En admettant que le premier paramètre de ma fonction stockée MA_FONCTION, du package PACKAGE, sous le chéma Oracle SCHEMA, se nomme monPremierParametre (idem pour le deuxième paramètre) */
/// param.Add(new string[] {"monPremierParametre",param1});
/// param.Add(new string[] {"monDeuxièmeParametre",param2});
///
/// if(this.monOracle.connect())
/// {
/// /* En admettant que le paramètre de retour de ma fonction stockée se nomme monParametreRetour et est de longueur 10 (VARCHAR2(10))*/
/// string sRetour = this.monOracle.foncStockOrder(sQuery,param,"monParametreRetour",10);
/// this.monOracle.deconnect();
///
/// if(sRetour != null)
/// {
/// ...
/// }
/// }
/// </example>
public string foncStockOrder(string sQuery,ArrayList param, string sRetour, int iLongueurRetour)
{
this.oracleCmd = this.oracleCnx.CreateCommand();
this.oracleCmd.CommandText = sQuery;
this.oracleCmd.CommandType = CommandType.StoredProcedure;
this.oracleCmd.Parameters.Add(sRetour,OracleType.VarChar,iLongueurRetour);
this.oracleCmd.Parameters[sRetour].Direction = ParameterDirection.ReturnValue;
foreach(string[] tableau in param)
{
this.oracleCmd.Parameters.Add(tableau[0],tableau[1]);
}
try
{
this.oracleCmd.ExecuteNonQuery();
return((string)this.oracleCmd.Parameters[sRetour].Value);
}
catch(OracleException OracleEx)
{
this.gestionErreur(OracleEx);
return null;
}
finally
{
this.oracleCmd = null;
}
}
#endregion
#region Gestion des erreurs
private void gestionErreur(OracleException oe)
{
switch(oe.Code)
{
case 02292 :
MessageBox.Show("Impossible de supprimer cet élément car il est encore référencé dans une autre table.","Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
break;
default :
MessageBox.Show(oe.Message,"Erreur Oracle",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
break;
}
}
#endregion
}
}
Conclusion
Exemple d'utilisation pour une requête simple : classOracle monOracle = new classOracle(); monOracle.setUser("Toto"); monOracl e.setPassword("mdp"); monOracle.setBase("maBase");
if(this.monObjetOracle.connect()) { string sQuery="SELECT MonChamp FROM MaTable";
object[,] resultat = this.monOracle.getQueryResult(sQuery);
this.monOracle.deconnect();
// Utilisation pour remplir un combobox par exemple avec MonChamp foreach(object[] monRow in resultat) { this.cbMonComboBox.Items.Add(monRow[0].ToString()) ; } }
Exemple d'utilisation pour une procédure stockée : classOracle monOracle = new classOracle(); monOracle.setUser("Toto"); monOracl e.setPassword("mdp"); monOracle.setBase("maBase");
String param1="blabla"; String param2="blablabla";
string sQuery = "SCHEMA.PACKAGE.MA_PROCEDURE"; ArrayList param = new ArrayList(2); /* En admettant que le premier paramètre de ma procédure stockée MA_PROCEDURE, du package PACKAGE, sous le chéma Oracle SCHEMA, se nomme monPremierParametre (idem pour le deuxième paramètre) */ param.Add(new string[] {"monPremierParametre",param1}); param.Add(new string[] {"monDeuxièmeParametre",param2});
if(this.mon Oracle.connect()) { bool bRetour = this.monOracle.procStockOrder(sQuery,param); this.monOracle.deconnect();
if(bRetour) { ... } }
Historique
- 09 mai 2005 10:12:25 :
- MAJ pour remplacer les GET et les SET par des propriétés.
Ajout des exemples pour chaque fonction.
- 04 février 2008 10:06:18 :
- Ajout d'un exemple d'utilisation
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
connection a une db oracle [ par ch3ass ]
j'arrive pas a me connecter a une base de donnée orale ?
Connection sécurisé [ par tobleronne ]
Bonjour à tous,J'essaye tout betement de faire un accés à la base mais on me dit : "Échec de la connexion de l'utilisateur 'sa'. Raison : Non associé
Connexion ORACLE...Trop de mal! :(:(:( [ par sphaxslayer ]
Salut, en fait je refais un post car mon précédent n'était pas/plus très clair...voilà le lien vers le premier: http://www.cs
connection par OLE DB [ par molok ]
j ai lu que l'on peut faire des acces a des fiches de calcul excel avec ole db mais je ne c pas quel provider il faut utiliser pour la connection si q
Chaine de connexion [ par jtccicd ]
Salut,Comment acceder à une base oracle (chaine de connexion) pour oracle avec C# ?JTCCICD
C# et connexion à Oracle7 [ par rouxxx ]
Bonjour à tous, J'aurai aimé avoir qqs précisions et ce de manière relativement urgente :p Je cherche à connecter une application C# à une base de d
connexion oracle [ par haccounsoft ]
Dslé de poluer le forum avec mes questions de debutants mais la encore g un ptit prob .J'aimerai utiliser une base données de TYPE ORACLE pr assurer l
fermer une connexion odbc [ par engelho ]
Salut tout le monde...J'utilise un odbcConnection ainsi que : - un odbcCommand pour une première requete - un o
ODBC, OleDb, ... (°_°)agheu??? + Pb connexion BD Oracle... [ par sphaxslayer ]
Bonjour tout le monde...au risque de paraître stupide, je voudrais vous poser la question suivante:mais que sont ODBC et OleDb ... ? Ormis que ce
connection à myql esyphp en C# [ par patou1007 ]
Bonjour,J'ai installé easy php et j'ai créer une base de donées mysql avc phpadmin.Je travaille avec visual studio 2005 et je souhaiter
|
Derniers Blogs
PARUTION DE MON LIVRE SUR WPF 4PARUTION DE MON LIVRE SUR WPF 4 par odewit
La 2e édition de mon livre sur WPF sort aujourd'hui en version numérique et lundi en version papier :-)
L'ouvrage présente de façon approfondie les fonctionnalités de WPF 4 : graphisme 2D et 3D, animation, multimédia, interfaces utilisateur, databind...
Cliquez pour lire la suite de l'article par odewit EDM : COMMENT UTILISER L'HORIZONTAL ENTITY SPLITTINGEDM : COMMENT UTILISER L'HORIZONTAL ENTITY SPLITTING par Matthieu MEZIL
Une des raisons pour lesquelles j'adore l'Entity Framework est la puissance de son mapping. Beaucoup de développeurs pour ne pas dire la plus part n'en n'ont pas conscience. Pour rappel, j'ai réalisé des videos (en anglais) sur le mapping . Certains scena...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WP7DEV][REACTIVE] RENDRE LES REACTIVE EXTENSIONS PLUS STABLES[WP7DEV][REACTIVE] RENDRE LES REACTIVE EXTENSIONS PLUS STABLES par jay
Lorsque l'on développe des applications .NET, les exceptions non gérées dans des threads ont le désagréable effet de terminer le processus courant.
Dans l'exemple suivant.......(read more) ...
Cliquez pour lire la suite de l'article par jay WINDBG / SOS / PSSCOR2 : FAILED TO LOAD DATA ACCESS DLL (MSCORDACWKS)WINDBG / SOS / PSSCOR2 : FAILED TO LOAD DATA ACCESS DLL (MSCORDACWKS) par coq
Ceux d'entre nous qui analysent des dumps d'applications .NET (notamment ceux créés via WER après un crash) en dehors de l'environnement initial ont probablement tous été confrontés au moins une fois au message suivant, à la saisie d'une commande SOS ...
Cliquez pour lire la suite de l'article par coq
Forum
RE : CRéATION DE MODULERE : CRéATION DE MODULE par The Meteorologist
Cliquez pour lire la suite par The Meteorologist
Logiciels
Microsoft Office (2010)MICROSOFT OFFICE (2010)Microsoft Office 2010 offre de nouveaux moyens flexibles et puissants pour optimiser votre travai... Cliquez pour télécharger Microsoft Office SeaMonkey (2.0.7)SEAMONKEY (2.0.7)Le projet SeaMonkey est issu d'un effort communautaire pour developper une application tout en un... Cliquez pour télécharger SeaMonkey Safari (5.0.2)SAFARI (5.0.2)Le navigateur d'Apple a lui aussi été mis à jour, aussi bien dans sa mouture Windows que celle po... Cliquez pour télécharger Safari Mozilla FireFox (4.0 béta 5)MOZILLA FIREFOX (4.0 BéTA 5)Firefox 4.0 béta 5
L'une des nouveautés visibles les plus attendues réside sans doute dans l'a... Cliquez pour télécharger Mozilla FireFox Mozilla Firefox (3.6.9)MOZILLA FIREFOX (3.6.9)Firefox 3.6.9 corrige les problèmes suivants :
* Introduced support for the X-FRAME-OPTION... Cliquez pour télécharger Mozilla Firefox
|