-
C# => source de données
Bonjour,
J'ai tous les problèmes du monde avec les transaction dans mon application.
Sans entrer dans les détailles je suis entrain d'évalué la possibilité d'avoir une DLL c#pour géré mes connections.
Je souhaiterais comment renvoyé un objet de type "source de données windev" depuis C#.
L'un de vous sait-il comment faire ?
Ou comment utiliser un DataTable depuis Windev ?
A+
-
Bonjour,
Vous pouvez très bien utiliser un Dataset à partir de Windev en important l'assemblage System.Data dans votre projet.
Vous pouvez même faire une fonction qui converti un Dataset en une source de données, je l'ai déjà fait dans un projet.
Maintenant c'était presque une obligation dans mon cas alors si vous pouvez vous en passer ... :mouarf:
Si vous avez juste un problème avec les transactions, peut être devriez-vous plutôt nous faire part de ces problèmes.
Cordialement
Madsl@nD
-
Les problème de transaction sont uniquement dues aux implémentations laxistes de PCSOFT
Quel est l'approche pour convertir un dataset en source de données?
-
Bonjour,
Quel est ton problème exactement avec les transactions ? Je gère celles-ci sans problème à travers des connexions ODBC depuis la version 10 de WinDev.
Bon, j'avoue que je n'utilise pas les fonctions h*, mais que je fais tout passer par des ordres SqlExec().
Tu peux nous en dire plus sur ce qui te bloques ?
Tatayo.
-
Non mais sérieusement, les transactions c'est pas le sujet.
Ici le sujet c'est créer un source de données WinDev depuis un assemblage .Net.
-
Effectivement, le sujet de la discussion est C# => source de données.
Mais tu débutes ton message par "j'ai tous les problèmes du mode avec les transactions", et tu cherches une voie pour contourner ces problèmes (non précisés), voie qui serait de créer une source de données WinDev en C#.
Je me dis bêtement que si tu nous décris ces problèmes de transaction (qui ne sont pas le sujet de la discussion, mais le fond du problème), nous pourrions peut-être te donner une solution autre que celle que tu envisages, vu que nous sommes tout de même quelques uns à ne pas avoir de soucis avec les transactions.
Tatayo.
-
Bon d'accord.
Alors je n'ai aucun problème avec les transactions, tant qu'elle ne sont pas sur une base de données HyperFile locale.
Dès que la base est locale (non client serveur) les transaction H... fonctionnent a peut près jusqu'au moment ou elle ne fonctionnent plus.
Ensuite l'aide de windev donc différentes pistes qui ne fonctionnent pas (ou plus), pour automatisé la récupération.
Ma préféré étant de tester HTransactionInterrompue. Ce qui met le contexte HF en erreur même si il n'y en a pas eu et qui du coup fait planter toutes les transactions qui suivantes.
Avec l’accès natif SQL server je n'ai aucun problème. Mais une base Sql Serveur local sur mes 120 terminaux est impayable, tant au niveau des finances que des ressources système.
Maintenant j’essaie différentes base de données dont SQLite qui marche très bien en c#.
Mais où. à nouveau, la gestion des transactions dans l'accès natif ne supporte ni le multi thread ni les transaction dans plusieurs connections, etc..
Donc j'ai créer une DLL C# qui gère mes connections à SQLite.
Cela fonctionne très bien et règle mes problèmes de multi thread, multi connections etc...
Le seul point noir étant la gestions des objets côté WinDev.
Comme Windev ne supporte pas les objets indexé, je suis obliger d'utilisé un tableau "primitif" d'objet.
J'en suis donc au point ou je n'ai plus de problèmes bloquants.
J'essaie maintenant de simplifié l'interfaçage pour que les développeurs purement WinDev ne changent pas trop leur habitudes.
Donc soit je retourne un objet de type source de données depuis C# ce qui semble difficilement possible.
Soit je dois créer un classe d'interface dans windev pour créer la source de données depuis l'objet C#.
J'espère que c'est plus claire.
A+