2010-09-10 4 views
2

Je rencontre des problèmes avec Visual Studio et la création de DataSets à partir d'une base de données.Instructions DataSet et Insert

Chaque fois que je crée un nouveau TableAdapter, les paramètres Insert-Methods sont, disons simplement, qu'ils sont en désordre.

La base de données est un fichier de base de données MS Access 2000. Si je crée un nouveau TabelAdapter, tout fonctionne très bien. Je choisis de créer des méthodes DatabaseDirect et tout se passe sans erreurs.

Puis, je regarde les déclarations. Tout est parfaitement bien. Mais alors, je vérifie les paramètres -Insert Méthodes et je vois ceci:

Parameter List http://img243.imageshack.us/img243/3175/paramlist.png

Tous les paramètres sont définis par défaut des chaînes sans nom. Je dois renommer et définir tous leurs types à nouveau.

Chose intéressante est, cela n'affecte jamais le dernier paramètre (Comme vous le voyez: Comment est pas renommé, etc.) et il arrive que dans la méthode d'insertion-. Lorsque je consulte la méthode Update-Method (qui utilise également exactement les mêmes paramètres), ils sont tous correctement nommés et le type correspond également à celui de la base de données.

Parameter list http://img816.imageshack.us/img816/853/paramlistnormal.png

Est-ce un bug connu? Ai-je fait quelque chose de mal lors de la création du TableAdapter?

Vous voyez, ce n'est pas un gros problème, je ne peux pas comprendre pourquoi cela fonctionne avec toutes les autres méthodes, mais pas l'insertion et il est assez difficile de renommer et de retaper tous les paramètres si vous créez un adaptateur de table pour une table qui a beaucoup plus de champs que juste le 12 je vous ai montré.

+0

Si ce problème s'applique à d'autres sources de données, il n'y a pas de véritable raison pour l'étiquette MS-ACCESS. D'un autre côté, si elle est spécifique aux sources de données Jet/ACE, l'étiquette doit rester. D'où je suis assis (en tant que développeur Access), cela ressemble entièrement à un problème VS, sans rapport avec l'accès du tout. –

+0

Cela n'arrive en fait qu'avec les bases de données Access. –

+0

Je me demande si cela est en quelque sorte lié à la gestion implicite des paramètres SQL par Jet. Je ne suis pas très familier avec TableAdapters car j'utilise généralement dao quand j'ai besoin d'accéder à un mdb en C#. Si j'ai un peu de temps demain, je l'examinerai. – phoog

Répondre

0

Il semble qu'au moins une autre personne a eu un problème similaire. Bien que this post ne mentionne pas spécifiquement Access, les symptômes semblent être les mêmes que ce que vous avez vu.

Malheureusement, il n'y avait pas de solution claire répertoriée ici. Le PO dit seulement qu'il était capable d'appeler la commande Insert générée automatiquement, plutôt que d'essayer de créer sa propre requête d'insertion, et qu'il n'avait donc pas besoin de résoudre son problème d'origine. En outre, il mentionne que tout semble fonctionner correctement avec toutes les autres tables dans sa base de données, et que cela se produit avec une seule table. Cela peut signifier que ce n'est pas un problème spécifique à Access, mais plutôt que les tables de votre base de données ont quelque chose en commun avec la table dans ce post, et ce facteur commun est ce qui empêche le TableAdapter de fonctionner comme il le devrait.

Questions connexes