Meilleur auteur de réponses
insertion de données de plusieurs tables dans BDD avec C#

Question
-
Bonjour,
Je suis débutant en C#, et je suis entrain de créer mon premier programme (qui est assez complexe pour un premier programme).
J'ai établi en algorithme, que je dois coder en C#, et qui me permet de lire des contenus de champs de plusieurs table, et selon certaines conditions, insérer ou modifier des donner dans d'autres tables de la BDD, sur sql server.
Mon principal problème (parmi d'autres) est dans le fait de travailler avec plusieurs tables, et par exemple; comparer deux variables qui ne sont pas de la même table, pour effectuer une action.
Voici l'algorithme que j'ai cité :
Si (dbo.Mach.MAR_Isfinite = 1) // (dbo.Mach est le nom de la table, et MAR_Isfinite est le nom de la colonne de cette table).
Si (Hours_Remaining =0) aller à la ligne suivante dans dbo.TcMachineUsage
Si (dbo.wodet.Hours_Remaining !=0)
Si (dbo.Wodet.T_Ope < TcMachineUsage.Hours_Remaining)
HoursUse <-- HoursUse + Wodet.T_Ope
Wodet.T_Eff <-- HoursUse;
Wodet.T_Total <-- (T_Plan - T_Eff); Hours_Remaining <-- (HoursAvailable - HoursUse)
Copier HoursUse et HoursRemaining dans dbo.TcTaskSchedule;
Si vous pouvez me guider s'il vous plait dans ma démarche, càd comment résoudre mon problème principal, et pouvoir insérer des donner dans différentes tables. Merci.
Réponses
-
Je suis entrain de remplir chaque requête sql dans un Datatable, et j'extraie en même temps les données donc j'ai besoin, et je les stock dans des variables intermédiaires. C'est pas très optimal, mais ça a l'air de fonctionner. Merci en tout cas pour vos solutions.
- Marqué comme réponse Aurel Bera lundi 22 octobre 2012 14:29
Toutes les réponses
-
-
Je suis arrivé à insérer le résultat de ma requete dans une datatable, et parcourir ses lignes et faire mes opérations.
Mais mon problème, c'est que je n'arrive pas à prendre les valeurs dans une table x, les comparer à celles d'une table Y, pour pouvoir effectuer mes opérations sur la BDD. Est-ce que je dois les stocker dans des variables intermédiaires, ou y'a-t-il une autre solution plus simple ?
-
Bonjour,
Je ne comprend pas tout de votre algo. vous passez à la ligne suivante avec une variable qui provient d'où ?
Pouvez-vous nous indiquer comment comparer la valeur d'une table vers l'autre ? y-a-t-il une association de clé etc ?
Avez-vous un MCD de cette partie afin de mieux comprendre ?
Cordialement
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
-
j'ai fait une boucle Foreach, qui parcours les datarow de la table : foreach (DataRow dr in dataTable.Rows)
j'ai pensé à extraire chaque contenu d'un champ d'une table, et le stocker dans une variable, et faire la même chose avec les autres variables, puis les comparer. Mais ça va me prendre beaucoup de temps et de variables, donc ce n'est pas très optimal.
-
Bonjour,
Un moyen simple (pas très pro ni très objet, mais très rapide à mettre en œuvre) est de concaténer toutes les valeurs de votre DataRow dans une chaîne (séparé par un séparateur un peu comme un fichier CSV) et de comparer cette chaîne de caractères avec les autres lignes.
Est-ce que cela répondrait à votre besoin ?
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
Je suis entrain de remplir chaque requête sql dans un Datatable, et j'extraie en même temps les données donc j'ai besoin, et je les stock dans des variables intermédiaires. C'est pas très optimal, mais ça a l'air de fonctionner. Merci en tout cas pour vos solutions.
- Marqué comme réponse Aurel Bera lundi 22 octobre 2012 14:29
-
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Aurel
-
Bonjour,
Pouvons-nous considérer que vous avez résolu votre problème avec les scénarios proposés ? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ?
Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !
Cordialement,
Aurel