Requete insert

Résolu
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008 - 10 juil. 2007 à 10:59
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008 - 10 juil. 2007 à 13:43
Bonjour tous le monde,

je dois pourvoir me connecter a ma base pour inserer des donnees mais le code ne s'excute pas surement parce que jai oublier quelquechose.

Voici mon code pour l'affichage des donnees.

dans mon aspx.cs
--------------------------------------------------------------------------------
private void CreerSourceTab()
{
DataTable Dt = new DataTable();

// Ajout des entêtes de colonnes a mon DataTable.
Dt.Columns.Add(new DataColumn("Tsasname",typeof (string)));
Dt.Columns.Add(new DataColumn("Tlib",typeof (string)));
Dt.Columns.Add(new DataColumn("Fr",typeof (string)));
Dt.Columns.Add(new DataColumn("Tname",typeof (string)));
Dt.Columns.Add(new DataColumn("L",typeof (string)));


DataView Dv = new DataView(Dt);
if(HttpContext.Current.Session["SortExpression"] != null)
{
Dv.Sort= String.Format("{0} {1}", (string)HttpContext.Current.Session["SortExpression"],
(string)HttpContext.Current.Session["SortExpressionOrder"]) ;
}
else
{
Dv.Sort = string.Empty ;
}
MacroDB mdb = new MacroDB ();
mdb.RecupererDonnees ();

dgObjet.DataSource = mdb.Donnees;
dgObjet.DataBind();
}
---------------------------------------------------------------------------


voici ma classe MacroBD qui s'occupe de la conection
----------------------------------------------------------------------------------
public class MacroDB
{
private DataTable m_dt = null;
public static string DSTYPE = string.Empty;

public DataTable Donnees
{
get
{
return m_dt;
}
}
public MacroDB()
{
}
public DataTable RecupererDonnees ()
{
DbFacade connexion = DbFacadeFactory.GetFacade (DSTYPE);

string requete = string.Format ("select * from cible_si4tab");
try
{
DataSet ds = connexion.ExecuteDataSet (CommandType.Text, requete);
m_dt = ds.Tables[0];
}
catch(Exception ex)
{

throw ex;
}
return m_dt;
}
-------------------------------------------------------------------




Jusque la tous marche bien, je veux maintenant inserer une ligne dans ma table oracle via un bouton clik , voici ce que jai fais :

dans ma page aspx.cs

private void Button1_Click(object sender, System.EventArgs e)
{
MacroDB mdb = new MacroDB ();
mdb.InsertionDonnees();

}
-------------------------------------------
voici ma fonction insertionDonnées
public void InsertionDonnees()
{
DbFacade connexion = DbFacadeFactory.GetFacade (DSTYPE);
string requete = string.Format ("INSERT INTO cible_si4tab VALUES ('imass', '1','j','k','im', 't','j','k','imane', 'tname','5','k','tname','1')");


}
---------------------------------------------------------------------
mais ca ne marche pas faut il quelquechose de spécial pour linsertion des données dans oracle.????

Merci pour votre aide !!!!!!!

2 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
10 juil. 2007 à 12:41
Hello,

Il faut peut-être exécuter la requête.
C'est bien beau de la mettre dans une string, mais si tu ne passes jamais la requête à la base de donnée, ça ne m'étonne pas que rien ne se passe.
Je penses que tu dois avoir quelque part dans ton objet connection une méthode permettant d'éxécuter une requête.

Encore un truc, pour les base de données, utilise des requêtes paramétrées. Ce tutorial donne un exemple avec SQLServer, mais il existe des objets similaires pour Oracle.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
10 juil. 2007 à 13:43
merci pour ta reponse en effet il me manquer cette ligne pour permettre l'excution de ma requete :


public void InsertionDonnees()
{
DbFacade connexion = DbFacadeFactory.GetFacade (DSTYPE);
string requete = string.Format ("INSERT INTO cible_si4tab VALUES ('i', '1','j','k','im', 't','j','k','i', 'tname','5','k','tname','1')");
connexion.ExecuteNonQuery(CommandType.Text, requete) ;


}

et sa marche tres bien !!

merci
0
Rejoignez-nous