narfight
Messages postés129Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention 4 mars 2010
-
6 mars 2008 à 14:37
cs_ninae
Messages postés7Date d'inscriptionmardi 17 février 2009StatutMembreDernière intervention18 octobre 2011
-
10 oct. 2011 à 17:28
Bonjours,
Je travail normalement en ADO (où je suis a coté de la plaque) et je voudrais faire une insertion dans la DB par ce code :
<hr size="2" width="100%" /> Conex.Open()
DataAdapter = New OleDbDataAdapter("Select * FROM Traducs", Conex)
DataAdapter.InsertCommand = New OleDbCommand("INSERT INTO Traducs (Lg, Txt) VALUES (" + Integer.Parse(Langue.English).ToString() + ", 'r')")
DataAdapter.InsertCommand.Parameters.Add("Txt", OleDb.OleDbType.Char, 255, "Txt")
DataAdapter.InsertCommand.Parameters.Item("Txt").Value = Text
DataAdapter.InsertCommand.ExecuteNonQuery()
Conex.Close()
'Update the local variable for the next time
Conteneur.Add(Text, Text)
<hr size="2" width="100%" />Malheureusement, la Ligne ExecuteNonQuery() me renvois l'erreur suivante : ExecuteNonQuery: Connection property has not been initialized.
Je ne comprend pas pourquoi et ça fait 1 heure que je suis dessus. Pouvez-vous m'aider ?
Merci d'avance,
Jean-Pierre Sneyers
A voir également:
Executenonquery connection property has not been initialized
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 6 mars 2008 à 16:23
Salut,
Dans cette ligne, tu déclare bien DataAdapter avec sa connexion
DataAdapter = New OleDbDataAdapter("Select * FROM Traducs", Conex)
mais pas dans celle là, c'es le OledbCommand qui doit recevoir uen connexion ouverte à la BDD
DataAdapter.InsertCommand = New OleDbCommand("INSERT INTO Traducs (Lg, Txt) VALUES (" + Integer.Parse(Langue.English).ToString() + ", 'r')",Conex)
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 7 mars 2008 à 12:04
RE
Content que çà marche, voilà comment je m'y prends quand je développe un programme qui à besoin d'être relié à une BDD
Je déclare dans un module
'Connexion au serveur
Pulbic SQLCX as new SQLCONNEXION
'Objet dataadpater
Pulbic SQLDA as new SQLDATAADPATER
'Objet command
Pulbic SQLCOM as new SQLCOMMAND
dans l'initialisation de mon programme
'Creation de la connexion au serveur
SQLCX.CONNEXIONSTRING="ma connexion à la BDD"
'Ouverture de la connexion
SQLCX.OPEN
'Mon objet commande reçoit la connexion ouverte à mon serveur de BDD
SQLCOM.CONNEXION=SQLCX
'Quand je utiliser une reqûete je fait
SQLCOM.COMMANDTEXT="INSERT INTO..... (je tape ma requête SQL)"
'Je donne au DataAdapter la requête et la connexion en même temps
SQLDA.INSERTCOMMAND=SQLCOM
'J'éxecute ma requête
SQLDA.INSERTCOMMAND.EXECUTENONQUERY
comme çà au final je n'ai qu'a me préocuper de ma requête SQL.
ta méthode est aussi bonne, mais je préfère la mienne car elle me paraît plus lisible au final.
bon code
@+
LIM
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ninae
Messages postés7Date d'inscriptionmardi 17 février 2009StatutMembreDernière intervention18 octobre 2011 10 oct. 2011 à 16:40
Je travail en ADO et je voudrais faire une insertion dans la DB par ce code :
public bool save()
{
int resultat = 0;
try
{
string query = "INSERT INTO utilisateur (User_Name, Password) " + " VALUES(@user, @pass);";
OleDbCommand comm = new OleDbCommand(query, dbconnection);
comm.Parameters.AddWithValue("@user", User);
comm.Parameters.AddWithValue("@pass", Pass);
comm.ExecuteNonQuery();
}
catch (OleDbException e)
{
MessageBox.Show(e.Message);
}
return (resultat == 1);