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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|