[c#] Ajout/ modification dans une base access

elendila Messages postés 3 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 7 septembre 2005 - 2 sept. 2005 à 10:35
elendila Messages postés 3 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 7 septembre 2005 - 7 sept. 2005 à 15:04

3 réponses

elendila Messages postés 3 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 7 septembre 2005
2 sept. 2005 à 10:48
dsl le post à pas marché, voilà le sujet:
Bonjour,

Voilà maintenant plusieurs jour que je suis le même problème... autant dire que ça commence à être prise de tête...
L'application doit pouvoir ajouter modifier ou supprimer un utilisateur, jusque là, rien de sorcier... enfin je croyais!
Je développe en c# sous webmatrix et voici mon code:
ObjConnect.Open();

string strCommand = "INSERT INTO person(connecte, nom, prenom, login, password, groupe) Values(@connecte, @nom, @prenom, @login, @password, @groupe)";

OleDbCommand ObjCommand = new OleDbCommand (strCommand, ObjConnect);

ObjCommand.CommandType = CommandType.Text;

ObjCommand.Parameters.Clear();

ObjCommand.Parameters.Add(new OleDbParameter("@connecte",OleDbType.Integer));

ObjCommand.Parameters["@connecte"].Value = 1;

ObjCommand.Parameters.Add(new OleDbParameter("@nom",OleDbType.VarChar));

ObjCommand.Parameters["@nom"].Value = tb_nom.Text.ToUpper();

ObjCommand.Parameters.Add(new OleDbParameter("@prenom",OleDbType.VarChar));

ObjCommand.Parameters["@prenom"].Value = tb_prenom.Text.ToUpper();

ObjCommand.Parameters.Add(new OleDbParameter("@login",OleDbType.VarChar));

ObjCommand.Parameters["@login"].Value = tb_login.Text.ToUpper();

ObjCommand.Parameters.Add(new OleDbParameter("@password",OleDbType.VarChar));

ObjCommand.Parameters["@password"].Value = tb_pass.Text.ToUpper();

ObjCommand.Parameters.Add(new OleDbParameter("@groupe",OleDbType.VarChar));

ObjCommand.Parameters["@groupe"].Value = ddl_groupe.SelectedValue;

ObjCommand.ExecuteNonQuery();

ObjConnect.Close();


Et voici mon erreur:
System.Data.OleDb.OleDbException: Erreur de syntaxe dans l'instruction INSERT INTO.

Sur la ligne:
ObjCommand.ExecuteNonQuery();


J'espère que vous pourrez m'aider!!!!!!
0
gama71 Messages postés 21 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 29 mars 2007
6 sept. 2005 à 19:00
Si tu écrivaient plutot cela comme ca :
int connecte =1;
string nom = "xxxxx";
string strCommand = "INSERT INTO person(connecte, nom, prenom, login, password, groupe) Values( "+connecte+", '"+nom+"'....

comme ceci tu vérifie que ton string est construit correctement, bien sur il faut savoir de quels types sont les données
ensuite

OleDbCommand aCommand = new OleDbCommand(strCommand , aConnection);
aCommand.Connection.Open();
int i = aCommand.ExecuteNonQuery();
aConnection.Close();

avec i qui retourne le nombre de record affectés donc 1
0
elendila Messages postés 3 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 7 septembre 2005
7 sept. 2005 à 15:04
Ben en fait c'est bon merci, le truc c'est que les colonnes de ma tables s'appelaient "login" et "password" qui apparement sont des mot reservé! C'est donc pour ça que ça faisait 1 semaine que je me suis pris la tête!!
Merci quand même! :)
0
Rejoignez-nous