Bonjour !
Besoin d'un petit coup de pouce.. En passant par Ado.NET, je veux faire l'update de ma base de données Access.
- Je passe les détails tels que connection, dataset.. tous fonctionne correctement
- J'utilise un dataadapter, ou j'ai moi-même fais les COMMAND
(pour l'instant j'utilise SELECT et INSERT pour mes tests)
- J'ai crée des procedures stockées sous access, en SQL
- La procédure stockées pour l'INSERT recoit 2 parametres. (un integer, une string)
Le problème :
Lorsque je lance l'update à partir de mon application Vb.Net (donc dataadapter.update(dataset, datatable)), ça marche.
Par contre, ça ne marche toujours que pour un seul enregistrement. Le premier.
Après, l'update a un comportement très étrange.
Voyez le résultat :
supposons que dans mon dataset j'ai :
1 aaaaaa
2 bbbb
3 cccccccc
et bien l'update va enregistrer cela dans le fichier :
1 aaaaaa
1 bbbbaa
1 cccccc
Vraiment étrange.. non ?
- le premier champ (l'integer) reste sur celui donné en premier
- la longueur totale du deuxieme champ (la chaine) sera toujours égale a la longueure de la premiere string donnée
- quand la string est plus petite, elle est quand même allongé avec des valeures de la premiere string
Si quelqu'un a déjà eu un comportement semblable merci de m'aider ! Je ne trouve pas
Mon code a pourtant l'air correct. J'ai l'impression que c'est autre chose.
Voici le code de la procedures stockees sous access (INSERT), au cas ou :
INSERT INTO tbl_Personne ( personne_Id, Nom )
VALUES (int_id, chn_nom);
j'ai aussi essayé :
PARAMETERS [int_id] Short, [chn_nom] Text ( 80 );
INSERT INTO tbl_Personne ( personne_Id, Nom )
SELECT [int_id] AS Expr1, [chn_nom] AS Expr2;
Pour les deux, même résultats. A partir d'access directement, ça marche.
A partir de vb.net, ça marche (une fois)
dès qu'il y a plusieurs colonnes dans le dataset, ça plante
On dirait que la valeure passée en paramètre pour la premiere ligne est "gardé" par access.......
Merci d'avance
-Axis-