IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

optimisation insertion en bdd


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Par défaut optimisation insertion en bdd
    j'ai une boucle et 2 objets adodb
    il vaut mieux redéclarer mon objet ADODB.Command à chaque fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    ' Declare all variables.
    Option Explicit
    Dim conn, connstring, rec2, rs2
    Dim rec1, rs1
    Dim MyCommand
     
    Dim strBody
     
    set conn = createobject("adodb.connection")
    connstring = "driver={SQL SERVER};" & "server=serveur;uid=sa;pwd=;database=base"
    conn.open connstring 
     
    rec2="SELECT Id FROM maTable"
     
    set rs2=conn.execute(rec2)
     
    if rs2.eof=false then
    	rs2.movefirst
    	do while not rs2.eof
      	strBody = strBody&"<br>n° : "&rs2("Id")
     
        Set MyCommand = CreateObject("ADODB.Command")
        Set MyCommand.ActiveConnection = conn
        MyCommand.CommandText = "INSERT INTO Memo (MemoText,CreatedOn,CreatedById,inquiryId) VALUES('Relance par mail automatique',getdate(),'IU:ADMIN',?)"  
        MyCommand.CommandType = 1
        MyCommand.Parameters(0).Value = rs2("Id")
        MyCommand.Execute
     
        Set MyCommand=nothing
     
      rs2.movenext
     	loop
    end if
     
    conn.close
    set conn=nothing
    ou bien une seule fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    ' Declare all variables.
    Option Explicit
    Dim conn, connstring, rec2, rs2
    Dim strBody
    Dim rec1, rs1
    Dim MyCommand
     
    set conn = createobject("adodb.connection")
    connstring = "driver={SQL SERVER};" & "server=serveur;uid=sa;pwd=;database=base"
    conn.open connstring 
     
    rec2="SELECT Id FROM maTable"
     
    'obj pour l'insertion dans memo
    Set MyCommand = CreateObject("ADODB.Command")
    Set MyCommand.ActiveConnection = conn
    MyCommand.CommandText = "INSERT INTO SMemo (MemoText,CreatedOn,CreatedById,inquiryId) VALUES('Relance par mail automatique',getdate(),'ADMIN',?)"  
    MyCommand.CommandType = 1
     
    set rs2=conn.execute(rec2)
     
    if rs2.eof=false then
    	rs2.movefirst
    	do while not rs2.eof  	  	
      	strBody = strBody&"<br>n° : "&rs2("Id")
      	MyCommand.Parameters(0).Value = rs2("Id")
        MyCommand.Execute 		
        rs2.movenext
     	loop
    end if
     
    Set MyCommand=nothing
    conn.close
    set conn=nothing

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    j'opterais pour la deuxième solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pb double insertion dans BDD
    Par oceane751 dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/12/2005, 09h59
  2. [Optimisation] Insert en masse
    Par bobic dans le forum Oracle
    Réponses: 1
    Dernier message: 14/12/2005, 21h11
  3. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38
  4. [Optimisation] Insertion en masse !
    Par m-mas dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/10/2005, 16h40
  5. Insertion dans BDD type ACCESS
    Par NeHuS dans le forum ASP
    Réponses: 2
    Dernier message: 20/04/2005, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo