SqlParameters [Résolu]

Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Dernière intervention
29 mai 2014
- - Dernière réponse : guilleto
Messages postés
258
Date d'inscription
jeudi 23 octobre 2003
Dernière intervention
20 mars 2013
- 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 
A voir également:

Votre réponse

7 réponses

Meilleure réponse
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Dernière intervention
29 mai 2014
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
Messages postés
258
Date d'inscription
jeudi 23 octobre 2003
Dernière intervention
20 mars 2013
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
Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Dernière intervention
29 mai 2014
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
Messages postés
258
Date d'inscription
jeudi 23 octobre 2003
Dernière intervention
20 mars 2013
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
Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Dernière intervention
29 mai 2014
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
Messages postés
258
Date d'inscription
jeudi 23 octobre 2003
Dernière intervention
20 mars 2013
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.