SqlParameters [Résolu]

hudon77 127 Messages postés vendredi 21 janvier 2005Date d'inscription 29 mai 2014 Dernière intervention - 19 mars 2013 à 16:02 - Dernière réponse : guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention
- 20 mars 2013 à 17:06
Bonjour à tous. Je dois updater une table avec des millier d'enregistrement sauf que je ne veux pas faire un executeNonQuery a chaque passage dans ma boucle. y'a t'il un moyen de specifier ma requête et d'envoyer une collection de sqlParameter qui representerais mes millers de ligne de ma datatable.

Merci

Nicolas!
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Utilisateur anonyme - 19 mars 2013 à 19:22
3
Merci
Bonjour,

Dans VB2005, il y avait un machin du genre sqlbulkupdater ou quelque chose de semblable. Je suppose qu'il a été maintenu depuis. Mais je n'ai pas mon aide VB sous la main pour l'instant.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
hudon77 127 Messages postés vendredi 21 janvier 2005Date d'inscription 29 mai 2014 Dernière intervention - 19 mars 2013 à 21:10
0
Merci
Wow c'est magique mon traitement prend maintenant 3 ligne au lieu de 50 et au niveau de la performance c'est passé de 8 muinutes à une seconde :)

Merci

Nicolas!
Commenter la réponse de hudon77
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 20 mars 2013 à 09:26
0
Merci
Bonjour hudon77,

Cette solution pour traiter plusieurs lignes en même temps me semble très intéressante ... Peux-tu mettre un exemple afin de pouvoir utiliser cette méthode ?

Merci

Olivier
Commenter la réponse de guilleto
hudon77 127 Messages postés vendredi 21 janvier 2005Date d'inscription 29 mai 2014 Dernière intervention - 20 mars 2013 à 15:25
0
Merci
Supposont que oDatatable contient des données.
Tu as aussi la propriété columnmapping mais j'en ai pas eu besoin car mes structure etait identique.


Dim oBulkCopy As New SqlBulkCopy(oSqlConn)
oBulkCopy.DestinationTable = "maTable"
oBulkCopy.WriteToServer(oDataTable)

Nicolas!
Commenter la réponse de hudon77
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 20 mars 2013 à 16:01
0
Merci
Merci hudon77,

Dans ta variable oDatatable, ce sont des requêtes sql d'ajout d'enregistrements ?
Comme par exemple :
INSERT INTO 'MaTable' (Champ1, Champ2) VALUES (1,"test")

C'est bien cela ?

Par avance merci

Olivier
Commenter la réponse de guilleto
hudon77 127 Messages postés vendredi 21 janvier 2005Date d'inscription 29 mai 2014 Dernière intervention - 20 mars 2013 à 16:36
0
Merci
Non ce sont des données que tu veux inseré. C'est la classe sqlbulkcopy qui fait le travail. Tu n'as donc pas a gerer les requetes


Nicolas!
Commenter la réponse de hudon77
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 20 mars 2013 à 17:06
0
Merci
Si j'ai une table 'MaTable' (original je sais) ayant 2 champs (N° et Texte)

Sous quelle forme se présente la variable oDatatable ?

Olivier
Commenter la réponse de guilleto

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.