Requête access exécutée mais sans résultat
Bonjour,
Je réalise une appli qui se connecte à une BD access.
Je créé une connexion que j'ouvre au lancement de l'appli.
Voici le code la classe qui gère l'accès à la BD:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| class dbConnect
{
OleDbConnection sscaCnx;
String chaineCnx = "provider = microsoft.jet.oledb.4.0 ; data source = ssca.mdb";
public dbConnect()
{
try
{
//Création de la connexion
sscaCnx = new OleDbConnection(chaineCnx);
}
catch (OleDbException e)
{
MessageBox.Show("Erreur ACCESS:\n" + e.Message, "Erreur de connexion à la base de données", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
//Méthode permettant d'exécuter une requête qui
//ne renvoie pas de résultat (INSERT, UPDATE, DELETE)
public bool executeQuery(String rqt)
{
try
{
//Ouverture de la connexion
sscaCnx.Open();
//exécution de la requête
OleDbCommand cmd = new OleDbCommand(rqt, sscaCnx);
cmd.ExecuteNonQuery();
//Fermeture de la connexion
sscaCnx.Close();
return true;
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Erreur d'exécution d'une requête");
return false;
}
}
} |
Ensuite à partir d'une autre classe, j'appelle la méthode qui execute la requete:
Code:
1 2 3 4 5 6 7
|
myConnection = new dbConnect();
String maRqt = "Insert into membres values ('4', 'LeNom', 'LePrenom', '15.12.1895', '3', '40');";
bool Ok = myConnection.executeQuery(maRqt);
if (Ok)
Console.Beep(); |
Ma BD contient les champs suivants:
id, id_famille, nom, prenom, naissance, status, cotisation
Le champ id est auto-incrémente
Lorsque j'écris la requete comme indiqué au-dessus, il me dit qu'il manque un champ (6 au lieu de 7)
Si j'écris la requete suivante:
Code:
String maRqt = "Insert into membres values ('0', '4', 'LeNom', 'LePrenom', '15.12.1895', '3', '40');";
Ca marche (il y a le beep de la console), mais dans ma table, je n'ai pas le nouveau tuple que je viens d'inserer
Qqun a-t-il une idée du problème?
Merci d'avance pour votre aide