Bonjour.

J'ai récemment fait un petit programme se connectant à des bases de donnée sql server compact.

Le code marche plutôt bien sauf dans une fonction ou il fait une erreur vraiment étrange:
Citation Envoyé par Exception Message
Expression evaluation caused an overflow. [ Name of function (if known) = ]
La pile d'appel étant la suivante:
Citation Envoyé par Exception StackTrace
at System.Data.SqlServerCe.SqlCeDataReader.ProcessResults(Int32 hr)
at System.Data.SqlServerCe.SqlCeDataReader.IsEndOfRowset(Int32 hr)
at System.Data.SqlServerCe.SqlCeDataReader.Move(DIRECTION direction)
at System.Data.SqlServerCe.SqlCeDataReader.Read()
at DataSyncApp.DataSync.UnsynchronizedRows(String strTblName, DateTime DtLasSyncTime, List`1 LstStrPrimaryColumns, SqlCeConnection& sqlConn, SqlCeCommand& sqlCmd) in C:\...\DataSync.cs:line 515
La ligne concernée est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
                while (dtReaderOpen.Read())
ou dtReader est de type SqlCeDataReader.

Dans son contexte, cela donne:
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
private List<KeyValuePair<List<object>, DateTime>> UnsynchronizedRows
            (string strTblName,DateTime DtLasSyncTime,List<string> LstStrPrimaryColumns, 
            ref SqlCeConnection sqlConn, ref SqlCeCommand sqlCmd)
        {
 
                string strSQLQuery = @"SELECT ";
                //[...] (modification de strSQLQuery)
                OpenConnection(ref sqlConn);
                sqlCmd.CommandText = strSQLQuery;
                SqlCeDataReader dtReaderOpen = sqlCmd.ExecuteReader(
                    System.Data.CommandBehavior.SequentialAccess);
                List<KeyValuePair<List<object>, DateTime>> strDtPairListUnsyncRows =
                    new List<KeyValuePair<List<Object>, DateTime>>();
                while (dtReaderOpen.Read())//plante là!
                {
                    string dummy = "dummy StatementCompletedEventArgs";
                    dummy += dummy;
                    //[...]
                 }
                 CloseConnection(ref sqlConn);
                 return strDtPairListUnsyncRows;
        }
Je ne vois absolument pas d'où vient l'erreur d'autant que j'ouvre des Read de la même manière pas mal de fois....

Si vous avez une idée


Merci d'avance