Capacité de stockage

MegaMIND243 Messages postés 23 Date d'inscription vendredi 6 avril 2012 Statut Membre Dernière intervention 24 juillet 2012 - 11 juin 2012 à 21:43
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 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

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
MegaMIND243 Messages postés 23 Date d'inscription vendredi 6 avril 2012 Statut Membre Dernière intervention 24 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.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MegaMIND243 Messages postés 23 Date d'inscription vendredi 6 avril 2012 Statut Membre Dernière intervention 24 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.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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
0
Rejoignez-nous