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

Windows Mobile .NET Discussion :

[VB.NET, CF 2.0, SQLite] Vitesse d'exécution d'une fonction


Sujet :

Windows Mobile .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 39
    Par défaut [VB.NET, CF 2.0, SQLite] Vitesse d'exécution d'une fonction
    Bonjour,

    J'ai écrit une petite fonction qui récupère le contenu d'une table SQLite dans un dataset afin de mettre à jour le contenu d'un champ. En fait, je calcule la distance entre la position actuelle et les différents points de la table. Quand je regarde le temps d'exécution de cette fonction, la première exécution du code prend 1000 millisecondes tandis que les suivantes sont quasi instantanées (0 millisecondes). Quelqu'un aurait-il une idée du pourquoi ?

    Voilà la fonction :

    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
    37
    38
    39
    40
    41
    42
    43
    ''' <summary>
    ''' Calculate the distances between actual position and the selected points
    ''' </summary>
    ''' <param name="querySelected">The query corresponding to the selected points.</param>
    Private Sub CalculateDistance(ByVal querySelected As String)
    	' get the points and set it to a dataadapter
    	Dim query As String = "select * from Point where idProject=" & idProject & querySelected & " ;"
    	Dim adapter As New SQLiteDataAdapter(query, db)
    	Dim pointsSet As New DataSet
    	adapter.Fill(pointsSet, "Point")
    	' calculate the distance
    	Dim pointsRow As DataRow
    	For i As Integer = 0 To pointsSet.Tables("Point").Rows.Count - 1
    		pointsRow = pointsSet.Tables("Point").Rows(i)
    		pointsRow("calcDistance") = CalcDistance(CDbl(pointsRow("x")), CDbl(pointsRow("y")), gpsPos.Easting, gpsPos.Northing)
    	Next
    	pointsRow = Nothing
    	' define the update command for calculated distance
    	Dim cmdUpdate As SQLiteCommand = New SQLiteCommand("update point set calcDistance=? where idProject=? and idPoint =?", db)
    	With cmdUpdate.Parameters.Add("@p1", DbType.Decimal)
    		.SourceColumn = "calcDistance"
    		.SourceVersion = DataRowVersion.Current
    	End With
    	With cmdUpdate.Parameters.Add("@p2", DbType.Int32)
    		.SourceColumn = "idProject"
    		.SourceVersion = DataRowVersion.Original
    	End With
    	With cmdUpdate.Parameters.Add("@p3", DbType.Int32)
    		.SourceColumn = "idPoint"
    		.SourceVersion = DataRowVersion.Original
    	End With
    	adapter.UpdateCommand = cmdUpdate
    	' update the distance to the database
    	Try
    		adapter.Update(pointsSet, "Point")
    	Catch ex As DBConcurrencyException
    		MessageBox.Show(ex.Message, "Distance calculation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
    		Exit Sub
    	Finally
    		pointsSet = Nothing
    		adapter = Nothing
    	End Try
    End Sub
    Merci d'avance,
    Thibaut.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 39
    Par défaut
    Personne n'a d'idées ?

Discussions similaires

  1. vitesse d'exécution d'une fonction personalisée
    Par metaldan dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/04/2010, 18h27
  2. VB.NET vs C# vs Java ou existe-t-il une vie après Visual Basic 6 ?
    Par B-Pascal dans le forum Débats sur le développement - Le Best Of
    Réponses: 32
    Dernier message: 05/07/2007, 12h46
  3. Réponses: 6
    Dernier message: 09/01/2007, 01h15
  4. [VB.NET] Exécuter une fonction VB sur un Datagrid
    Par MiJack dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/09/2004, 14h45
  5. Réponses: 2
    Dernier message: 18/05/2004, 14h12

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