OVH Cloud OVH Cloud

Ajout d'enregistrements à une table

5 réponses
Avatar
Boris Sargos
Salut,

j'aimerais savoir la méthode que vous préconisez pour ajouter des
enregistrements à une table.
J'ai bien essayé de lire un schéma par Xml puis remplir le dataset
correspondant, pour ensuite lui ajouter un à un mes enregistrements; mais je
trouve ça très long : charger une très grosse base de données pour ajoutre
seulement quelques centaines de lignes, ça ne vaut pas la peine, d'autant
plus que je ne me sers plus de ma base de données après.
Donc, je fais tout manuellement, avec des requêtes SQL. L'ennui, c'est que
je dois ouvrir une connexion, créer la commande, exécuter la commande, et
fermer la connexion (c'est lourd) pour chaque enregistrement à ajouter.
C'est moins long que pour le dataset, mais c'est quand même trop.

Comment feriez-vous ?

Merci.

5 réponses

Avatar
Paul Bacelar
Qu'est-ce qui vous interdit de faire, à partir d'un dataset, un dataset avec
tous vos nouveaux enregistrements et de faire un Update ?

L'opération d'update se fait en un appel et vous n'avez pas besoin de
charger les données de la base dans le dataset.
--
Paul Bacelar


"Boris Sargos" wrote in message
news:416eee57$0$28815$
Salut,

j'aimerais savoir la méthode que vous préconisez pour ajouter des
enregistrements à une table.
J'ai bien essayé de lire un schéma par Xml puis remplir le dataset
correspondant, pour ensuite lui ajouter un à un mes enregistrements; mais


je
trouve ça très long : charger une très grosse base de données pour ajoutre
seulement quelques centaines de lignes, ça ne vaut pas la peine, d'autant
plus que je ne me sers plus de ma base de données après.
Donc, je fais tout manuellement, avec des requêtes SQL. L'ennui, c'est que
je dois ouvrir une connexion, créer la commande, exécuter la commande, et
fermer la connexion (c'est lourd) pour chaque enregistrement à ajouter.
C'est moins long que pour le dataset, mais c'est quand même trop.

Comment feriez-vous ?

Merci.




Avatar
Piotrek
Salut

Donc, je fais tout manuellement, avec des requêtes SQL. L'ennui, c'est que
je dois ouvrir une connexion, créer la commande, exécuter la commande, et
fermer la connexion (c'est lourd) pour chaque enregistrement à ajouter.
C'est moins long que pour le dataset, mais c'est quand même trop.

Comment feriez-vous ?

Merci.



Generer les requetes INSERT c'est la methode la plus efficace, c'est certain

Pourquoi tu referme la connection entre deux requetes de mise a jour sur une
meme base? et d'ou proviennent ces donees a inserer ?
Avatar
Boris Sargos
Oui, c'est une bonne idée. Mais c'est justement celle dont je parle dans mon
post.
Ma table contient plusieurs dizaines de milliers (voire centaines de
milliers) d'enregistrements. La création du dataset (ou plutôt le
remplissage du dataset par l'instruction DataAdapter.Fill) prend un temps
fou (plusieurs minutes).
Sinon, je reconnais la méthode Update est la méthode idoine.

"Paul Bacelar" a écrit dans le message
de news:
Qu'est-ce qui vous interdit de faire, à partir d'un dataset, un dataset


avec
tous vos nouveaux enregistrements et de faire un Update ?

L'opération d'update se fait en un appel et vous n'avez pas besoin de
charger les données de la base dans le dataset.
--
Paul Bacelar


"Boris Sargos" wrote in message
news:416eee57$0$28815$
> Salut,
>
> j'aimerais savoir la méthode que vous préconisez pour ajouter des
> enregistrements à une table.
> J'ai bien essayé de lire un schéma par Xml puis remplir le dataset
> correspondant, pour ensuite lui ajouter un à un mes enregistrements;


mais
je
> trouve ça très long : charger une très grosse base de données pour


ajoutre
> seulement quelques centaines de lignes, ça ne vaut pas la peine,


d'autant
> plus que je ne me sers plus de ma base de données après.
> Donc, je fais tout manuellement, avec des requêtes SQL. L'ennui, c'est


que
> je dois ouvrir une connexion, créer la commande, exécuter la commande,


et
> fermer la connexion (c'est lourd) pour chaque enregistrement à ajouter.
> C'est moins long que pour le dataset, mais c'est quand même trop.
>
> Comment feriez-vous ?
>
> Merci.
>
>




Avatar
Boris Sargos
Salut,

je ferme les connexions car c'est ce qui est recommandé dans toutes les FAQ
et tous les bouquins que j'ai pu lire. Maintenant, j'ai peut-être mal
interprété, c'est possible ...
Les données proviennent d'un texte. Je scanne le texte en vue de données qui
m'intéressent., et je les ajoute à ma base une fois formatées.
Voilà.
Avatar
metalseb
Boris Sargos wrote:
je ferme les connexions car c'est ce qui est recommandé dans toutes
les FAQ et tous les bouquins que j'ai pu lire. Maintenant, j'ai
peut-être mal interprété, c'est possible ...



Oui je pense. Tu ne ouvres/fermes les connexions que lorsque tu as besoin de
la BDD. Si tu es à l'intérieur d'une boucle, ce n'est pas nécessaire.

Comme dis Piotrek, tu génères dynamiquement les INSERT et hop, roule !

--
Seb
Metal extrême, gothique et atmosphérique
http://www.metal-extreme.com
The Unholy Black Metal Songtitle-O-Matic
http://metalseb.free.fr