MegaMIND243
Messages postés23Date d'inscriptionvendredi 6 avril 2012StatutMembreDernière intervention24 juillet 2012
-
11 juin 2012 à 21:43
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
11 juin 2012 à 22:40
Bonsoir,
j'ai projet de créer une application, me permettant de gérer 13500 enregistrement avec 3 images pour chaque enregistrement.
j'ai pensé à simuler déjà les enregistrements pour avoir un aperçu
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim a As Integer = 0
While a < 13500
Try
a += 1
'If (a a + 1) True Then
' ProgressBar1.PerformStep()
'End If
Me.Test1BindingSource.AddNew()
Me.TestTextBox.Text = "ok"
Me.PictureBox1.Image = My.Resources.b
Me.PictureBox2.Image = My.Resources.d
Me.PictureBox3.Image = My.Resources.r
Me.Validate()
Me.Test1BindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DddDataSet)
Catch ex As Exception
MessageBox.Show(ex, "001")
End Try
End While
if ToolStripLabel1.text = 13500 then
me.timer1.enable= false
end if
End Sub
mais arriver au 457ème enregistrement j'ai une erreur
Violation de l'accès concurrentiel : UpdateCommand a affecté 0 des enregistrements 1 attendus.
ToolStripLabel1 est le label créer par le Bidingnavigator que j'ai remplacé dans la propriété countitem
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 11 juin 2012 à 22:07
Bonsoir,
13500 enregistrement avec 3 images = 40500 images !
De combien de pixels chacune ?
Il est déraisonnable de charger ainsi une base de données !
Préfère donc mettre toutes ces images dans un dossier à chemin relatif et n'enregistre dans ta base de données que leur chemin complet.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 11 juin 2012 à 22:15
Et que vient faire là-dedans :
if ToolStripLabel1.text = 13500
?
1) je ne vois pas où tu l'incrémentes
2) il est de toutes manières redondant par rapport à :
While a < 13500
Try
a += 1
non ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
MegaMIND243
Messages postés23Date d'inscriptionvendredi 6 avril 2012StatutMembreDernière intervention24 juillet 2012 11 juin 2012 à 22:17
la totalité ne fait que 300ko.
j'ai besoin de quand je pourrais parcourir les enregistrement avoir directement leur image.
donc si je sélectionne un enregistrement à coté j'ai ces image.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 11 juin 2012 à 22:21
la totalité ne fait que 300ko.
donc moins de 8 octets par image ?
Je n'ai de toutes manières rien à ajouter à mes deux messages précédents, désolé.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Vous n’avez pas trouvé la réponse que vous recherchez ?
MegaMIND243
Messages postés23Date d'inscriptionvendredi 6 avril 2012StatutMembreDernière intervention24 juillet 2012 11 juin 2012 à 22:31
pour l'incrementation
while a<13500
try
a+=1
je pouvais aussi ecrire :
while a<13500
try
a=a+1
le toolstriplabel est le compteur des enregistrement que j'ai, je le réfère dans mon code pour désactiver le timer une fois le Nbre d'enregistrement atteint.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 11 juin 2012 à 22:34
que ce soit une écriture ou l'autre (je ne vois même pas ce que tu veux dire par là) cela n'ôte absolument rien à la redondance constatée et dénoncée (par rapport à un label) !
Je vais au dodo.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 11 juin 2012 à 22:40
Bonjour,
Comme le dit Ucfoutu, il est préférable d'enregistrer les images à part pour éviter de charger la BDD.
ToolStripLabel1.text = 13500
En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
On évite While, mais on lui préfère Do/Loop
Essayes de mettre
System.Threadding.thread.Sleep(10)
par exemple pour attendre 10 ms entre chaque enregistrement.
Mais 800ko pour tout ce que tu mets dans la BDD, j'ai un doute quand même.
---------------------------------------------------------------------
[list =ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site