begin process at 2012 02 14 22:30:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Bases de données

 > 

Temp d'execution d'un Recordset


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Temp d'execution d'un Recordset

samedi 2 août 2003 à 13:54:46 | Temp d'execution d'un Recordset

Ricou13

J'ai un pb de temps d'accès à ma base de données.
Pour mieux expliquer, j'ai fait un bout de code de démo. Un form avec une combo et un bouton.
Le principe est que je charge, depuis ma base de données, les communes de France (36000 villes) dans une combo pour voir le temps que cela met.

Code:
Dim Cnn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Start As Single


Private Sub Command1_Click()

ComboBox1.Clear

'Ouverture de la base de données
Call OpenDBConn

'Récupération des données
Start = Time
codesql = "Select * from Ville order by NomVille"
Set Rs= New ADODB.Recordset
Set Rs= Cnn.Execute(codesql)

'Remplissage de la combo
Do While Not Rs.EOF
ComboBox1.AddItem Rs("NomVille")
Rs.MoveNext
Loop


MsgBox chaine1 & "Nbre de lignes : " & ComboBox1.ListCount & vbCrLf & _
"Temps : " & (Time - Start)

Rs.Close
Set Rs= Nothing
Call CloseDBConn
End Sub

Private Sub OpenDBConn()
Set Cnn = New ADODB.Connection
Cnn.Open "MonDSN"
End Sub

Private Sub CloseDBConn()
Cnn.Close
Set Cnn = Nothing
End Sub


La procédure efface le contenu de la combo, crée une connection à la base, crée un recordset, récupère les données dans ce recordset et les ajoute dans le combo.
Le traitement dure environ 4 secondes. Cependant, et c'est là le pb, lorsque je relance la procédure, le traitement dure 20 secondes. Et si je recommence, le temps augmente encore. Pourtant je close le recordset et la base et je les retire de la mémoire avec Set XXX = Nothing (du moins c'est ce qu'il me semble)
samedi 2 août 2003 à 16:43:23 | Re : Temp d'execution d'un Recordset

NoRabbit

j'ai déjà eu ce problème et je pense que c'est une question de mémoire allouée à un processus qui n'est pas correctement libérée...
Je ne m'avancerai pas trop sur ce sujet là, je ne sais que très peu de chose dans ce domaine.
Mais je pense que chercher de ce côté là est un bon point de départ.

.:. NoRabbit .:.


Cette discussion est classée dans : set, base, recordset, rs, cnn


Répondre à ce message

Sujets en rapport avec ce message

pbme base de données urgent [ par flo ] bjrVoila j'ai cree une BD sous ACCES contenant 2 tables dont une s'appelle AlbumJe voudrai faire une requete dessus et j'ai donc le code suivant:Priva recordset deconnecté + creation dynam datareport [ par kick71 ] Bonjour,J'ai un probleme entre l'utilisation d'un Rs + ouverture d'un data-report avec ce RS :Si j'ai un état (ReprotSet) standard, sans regroupement Vb Access : ajout enregistrement [ par Snoop ] je voudrai ajouter un enregistrement a une table en vba voici mon code : Dim base As DatabaseDim rs As RecordsetSet base = CurrentDbSet rs = base.Open datagrid [ par Simaifou ] Salut tout le mondeJ' essaie en vain de charger la datasource d'une datagrid avec un adodb.recordset voici mon affaireform_load() dim rs as adodb.re RecordSet et base de données [ par macflyFR ] Bonjourje récupère des données XML dans un recordset de la maniere suivante:Dim rs As New adodb.Recordsetrs.open fichierXMLj'aimerais ensuite pouvoir gestion d'un recordset [ par piope ] voila, alors nouveau probleme !!voila, j'ouvre une connection a une base access, j'envoie une resuete et je traite le resultat, jusque la aucun proble une question sur l'objet MSHFlexGrid [ par MissJo ] j'utilise un objet MSHFlexGrid pour afficher des enregistrements d'une table avec une requete SQL, le probleme c quand je modifie ma table et lorsque PB à la déclaration d'un recordset ! [ par doomVB ] DoomVBSalut tout le monde,J'essaie de déclarer un recordset puis de l'instancier et c'est là que ça coince !Voilà mon code : Dim DB As Database Pb affichage [ par biddal ] ' -----' Form2' -----'Option Explicit''Public Sub Form_Load()     Dim rs As Recordset    Dim Sql As String '   ouvre la base    On Error GoTo Bas Je débute pb pour faire une boucle. [ par biddal ] ' -----' Form2' -----'Option Explicit''Public Sub Form_Load()     Dim rs As Recordset    Dim sql As String '   ouvre la base    On Error GoTo Bas


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales