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
MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril SHAREPOINT 15 TECHNICAL PREVIEW MANAGED OBJECT MODEL SOFTWARE DEVELOPMENT KITSHAREPOINT 15 TECHNICAL PREVIEW MANAGED OBJECT MODEL SOFTWARE DEVELOPMENT KIT par Matthew
http://www.microsoft.com/download/en/details.aspx?id=28768&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+MicrosoftDownloadCenter+(Microsoft+Download+Center) ...
Cliquez pour lire la suite de l'article par Matthew
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|