C# .NET insertion dans BD Orale

Résolu
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007 - 20 mars 2007 à 17:06
Matroks Messages postés 2 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 26 mars 2007 - 26 mars 2007 à 20:06
Bonjour,
je souhaiterai faire cette insertion mais j ai une erreur comme quoi "ExecuteNonQuery: Connection property has not been initialized."
est ce que quelqu un peu me donner une réponse clair, parceque je débute et c'est pas évident encore!!!

Merci 1000 fois

Sabine

Voici mon code:

private






void
button1_Click(

object
sender,

EventArgs
e){
        


string
insertCmd =

"INSERT INTO user VALUES (seq_user.NEXTVAL,textBox1.Text,textBox2.Text);";

         DataConnection
m =

new



DataConnection
();


         OleDbCommand
cmd =

new



OleDbCommand
(insertCmd);
         m.DoConnection();
         cmd.ExecuteNonQuery();
         m.DoDeconnection();
}

31 réponses

cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007
21 mars 2007 à 21:20
J ai tenté de faire un SELECT!
et ca marche correctement!
donc voila je comprends toujours pas pour le INSERT!!!
Donc je continue a chercher de mon coté!!!

Sab







private






void
button1_Click(

object
sender,

EventArgs
e){
        


OracleConnection
conn =

null
;


         conn =

new



OracleConnection
(

"Data Source=ICAODBDV_ICAODEV.ICAO.LAN;"

                                         +

"User ID=MPLDB;"
                                         
+

"Password=MPLDB;"
);
         conn.Open();
         

OracleCommand
cmd = conn.CreateCommand();
         

string
sql =

"SELECT login, password FROM user_mpl"
;
         cmd.CommandText = sql;


         OracleDataReader
reader = cmd.ExecuteReader();
         

while
(reader.Read())
        {       


                     string
user_login = (

string
)reader[

"login"
];
                    

string
user_password = (

string
)reader[

"password"
];
                    

Console
.WriteLine(

"User Login: {0} User password: {1}"
,
                    user_login, user_password);
         }
       

// clean up 

        reader.Close();
        reader =

null
;
        cmd.CommandText = sql;
        cmd.ExecuteNonQuery();
        cmd.Dispose();
        cmd =

null
;
         conn.Close();
}
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
21 mars 2007 à 21:21
Ma réponse précédente ne fonctionne pas ?

Mx
MVP C# 
0
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007
21 mars 2007 à 21:52
Ouiiii ca marche, tout marche!!!
trop cool, merciii!
juste pour un petit " ; ", alors ça c'est rageant...lol
en tout cas merci!

Je pense que tu entendra reparler de moi ;-)
Sabine
0
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007
21 mars 2007 à 22:04
Ok, super, merci pour tout!!!


en fait j ai un projet à faire en 3 mois et c'est mission impossible, en plus on me l a demandé en C# que je connaissais pas, donc je vais avoir besoin de conseil!!! ;-)


@+
Sab
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
21 mars 2007 à 22:33
Et n'hésites pas à valider les postes qui t'ont aidés, surtout que ce brave Mx à même installé Oracle pour toi !
Quel bon type  lol

<hr />
-Blog-
0
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007
22 mars 2007 à 17:32
Bonjour bonjour,
un nouveau probleme me prend un peu la tete!
je veux fermer un form et ouvrir un autre:
voici mon code

this.Close();

// open the main menu

Menu myMenu =
new
Menu();myMenu.ShowDialog();

myMenu.Activate();

Sauf que ca ferme mais ouvre rien! et si je mets le close apres le "activate", ca laisse tout ouvert!!!
donc je sais pas

merciii

Sabine
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
22 mars 2007 à 17:42
Salut,

Tu devrais plutot ouvrir un nouveau topic, pour un sujet différent ;)

Le this.Close(), c'est la fermeture de ta Form principale ?
Si c'est le cas, c'est normal que tout se ferme. Si tu ne veux vraiment plus la voir a l'écran, il faut plutot la cacher (méthode Hide()). Et dans ce cas, autant utiliser la méthode Show() que ShowDialog(); sur ton instance de 'myMenu'

Mx
MVP C# 
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 mars 2007 à 18:28
Salut,

Parfait, ça répond à la question que je me posais depuis le début de la lecture du sujet : est ce que le provider Oracle intégré se comporte de la même manière avec les ';' en .NET 2.0 que .NET 1.1, visiblement la réponse est oui :/
Si possible, passez par le provider livré par Oracle.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Matroks Messages postés 2 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 26 mars 2007
26 mars 2007 à 19:05
tiens sabine on dirait qu"on a le meme projet :)
donc voila, moi j'ai un autre prob concernant justement ce projet...
quand j'essaye de creer un user dans ma base oracle, ca plante avec cette fameuse erreur :
ORA-01036 numéro/nom de variable interdit

mon code est le suivant :

public void AddUser(string name, string pass)
        {
            OracleCommand cmd = _oraConnection.CreateCommand();
            cmd.CommandText =
                "CREATE USER :name IDENTIFIED BY :pass" ;
            OracleParameter p1 = new OracleParameter(":name", OracleDbType.Varchar2, 30);
            OracleParameter p2 = new OracleParameter(":pass", OracleDbType.Varchar2, 30);
            p1.Value = name;
            p2.Value = pass;
            System.Windows.Forms.MessageBox.Show(cmd.CommandText);
            cmd.Parameters.Add(p1);
            cmd.Parameters.Add(p2);

            cmd.ExecuteNonQuery();
        }

si qqun pourrait m'expliquer...
0
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007
26 mars 2007 à 19:46
Je n ai pas rencontré cette erreur, mais je pense qu il faudrait que tu fasses apparaitre des "" quelque part comme p1.Value= ""+name+"";
ca veut dire que tu concatene avec des quotes compte tenu que tu as du String comme type de parametres!
pour voi si l erreur vient de là, change ton type par du "int", juste pour vérifier, parceque pour du Int t as pas besoin de quotes!!!
public void AddUser(int name, int pass)

si c est pas ca, je vois pas autre chose!!
Sabine
0
Matroks Messages postés 2 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 26 mars 2007
26 mars 2007 à 20:06
c bon, j'ai la solution :-p enfin on m'a eclairé lol
en fait create user est une requete ddl et non sql, donc on ne peut pas utiliser les requetes parametrées avec des ddl...du coup il va falloir que je revienne a la methode concaténation de chaine (de préférence avec des tests de sécurité ;-)
Merci quand meme :)
Dim
0