Bonjour à tous
Depuis quelques semaines j'ai de petits problèmes de mise à jour dans ma base de donner
j'ai un erreur toujours au même endroit. Dans les fait, avant d'inscrire un enregistrement dans la BD je vérifie si elle n'existe pas déjà le tout se déroule bien mais un moment donner ça bug, j'ai essayé plusieurs choses pour résoudre le problème mais rien ne marche. j'ai besoin de quelqu'un de plus chevronner (pas très dur à trouver )
Je vous donne le plus d'info que je peux ... merci de vous pencher sur mon problème
Histoire de voir le comportement de ma machine j'ai fait une petite routine pour tester
Dans une classe je fais
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 Private Sub TestTpmToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TestTpmToolStripMenuItem.Click Dim IntRou As Integer = 0 'Faire une séquense de vérification de doublon pour l'ensemble des enregistrements inscrit dans la BD For Each Drw As DataRow In Form1._Ds.Tables("TblDonner").Rows IntRou = IntRou + 1 Dim DatDon As Date = CDate(Drw.Item("DateDonner")) Dim SymbTmp As String = Drw.Item("Symbole").ToString Console.WriteLine(String.Format("{0} {1} {2} {3}", DatDon, SymbTmp, DoublonBDDonner(DatDon, SymbTmp), IntRou)) Console.WriteLine("Memory used before collection: {0:N0}", GC.GetTotalMemory(False)) GC.Collect() Console.WriteLine("Memory used before collection: {0:N0}", GC.GetTotalMemory(True)) Console.WriteLine("") Next End Sub Function DoublonBDDonner(ByVal DateDon As Date, ByVal Symb As String) As Integer Dim Ad2 As AcceeDonnee Dim Rep As Integer 'SELECT Count(TblDonner.Prix) AS CompteDePrix FROM TblDonner GROUP BY TblDonner.DateDonner, TblDonner.Symbole HAVING (((TblDonner.DateDonner)=#10/21/2013#) AND ((TblDonner.Symbole)="bnk")); Dim SQL As String = "SELECT Count(TblDonner.Prix) AS CompteDePrix FROM TblDonner GROUP BY TblDonner.DateDonner, TblDonner.Symbole HAVING (((TblDonner.DateDonner)=#" & DateDon & "#) AND ((TblDonner.Symbole)=""" & Symb & """));" Ad2 = New AcceeDonnee Rep = Ad2.FournirValeur(SQL) Ad2 = Nothing Return Rep End Function
Notez que j'utilise cette méthode depuis plusieurs mois. Voici le message d'erreur
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 Function FournirValeur(ByVal SQL As String) As Integer Dim Int1 As Integer = 0 Try Me.OuvrirConnexion() Dim Cmd As New OleDbCommand() With Cmd .Connection = Me._cn .CommandType = CommandType.Text .CommandText = SQL End With Int1 = CType(Cmd.ExecuteScalar, Integer) Cmd = Nothing Return Int1 Catch ex As Exception Console.WriteLine(ex.Message) Console.WriteLine(SQL) Throw New ApplicationException("La commande à échoué " & ex.Message) Finally Me.FermerConnection() End Try End Function
encore merci de votre soutien2014-06-05 00:00:00 DMN.PR.A-1189 1 5190
Memory used before collection: 162*975*012
Memory used before collection: 162*965*608
Une exception de première chance de type 'System.Data.OleDb.OleDbException' s'est produite dans System.Data.dll
Ressources système insuffisantes.
SELECT Count(TblDonner.Prix) AS CompteDePrix FROM TblDonner GROUP BY TblDonner.DateDonner, TblDonner.Symbole HAVING (((TblDonner.DateDonner)=#2014-06-05#) AND ((TblDonner.Symbole)="DNA-1133"));
Le programme '[4368] BourseV2.vshost.exe: Managé (v4.0.30319)' s'est arrêté avec le code -1 (0xffffffff).
Mario
Partager