Question : SqlCeResultSets dans Windows Mobile

J'ai un problème avec un morceau mobile que je travaille à celui implique plusieurs datagrids.  Le choix fait dans le premier datagrid conduit les options qui apparaissent dans une seconde, et ainsi de suite jusqu'à ce que l'utilisateur puisse obtenir à l'article mouvement spécifique qu'elles sont ensuite.  À un point quelconque, l'utilisateur peut soutenir au datagrid original (ou elles en ont déjà fait un choix pour) et changer leur choix, qui dégage les choix de « enfant » qui re-sont alors choisis.  Dans ce cas-ci, tous les datagrids sont inaltérables - l'édition a lieu sur le problème différent de forms.

My est que le programme jette une erreur de « pas assez de stockage » la troisième fois un parent que le choix est changé, qui se produit pendant la question pour obtenir les nouvelles options pour l'enfant.  J'ai essayé de détruire les objets de SqlCeCommand immédiatement, qui salit pouvoir vers le haut tirer des IDs choisis.  Le prochain contournement que j'ai essayé les vérifiait juste avant rebinding.  Les adaptateurs de ligne et les tables ne sont pas une option en raison des frais généraux qu'ils produisent.  C'était mon arrangement (et expérience jusqu'ici) que SqlCeResultSet fonctionne beaucoup plus rapidement avec des frais généraux minimaux, mais je suis disposé à essayer d'autres options.  le code d'exemple du

The ci-dessous a été changé pour protéger la propriété intellectuelle, et est fourni comme exemple.  Coder les détails non fournis incluent : le raccordement persistant de >
  • A de " balle " de class= du
    • Synchronization de " balle " de class= de myStaticGlobals

    • Datagrid de " balle " de class= de sync.

    • Selections d'une " balle " de class= de l'aide class.

    1 de >


     *****
    //TODO : unwire tous les traiteurs d'événement qui seront déclenchés par un rebind
    ***** de //
    GridHelper.UnregisterDatagridEvents (référence datagrid1) ;
    
    cmdSql de System.Data.SqlServerCe.SqlCeCommand = nouveau System.Data.SqlServerCe.SqlCeCommand () ;
    cmdSql.Connection = myStaticGlobals.LocalConnection ;
    ceResults = nulle de System.Data.SqlServerCe.SqlCeResultSet ;
    
    visitContext de SelectedContext = myStaticGlobals.SelectedData.FindContext (« visite », fausses) ;
    
    si ((nulle de == de visitContext.SelectedId) || (nulle de == de visitContext.SelectedTable))
        MessageBox.Show (« aucune visite selected.") ;
    autrement
    {
        cmdSql.CommandText =
            corde. Format (« column1 choisis, column2 de table1 intérieur se joignent {0} en tant que visites où visits.id = {1} », visitContext.SelectedTable, (Int64) visitContext.SelectedId) ;
        ////TODO : ajouter DataGridStyle ?
    
        essai
        {
            si (this.datagrid1.DataSource ! = nulle)
            {
                ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Fin () ;
                ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Disposer () ;
            }
    
            ceResults = cmdSql.ExecuteResultSet (System.Data.SqlServerCe.ResultSetOptions.Scrollable | System.Data.SqlServerCe.ResultSetOptions.Insensitive) ; // <-- erreur jetée ici
            this.datagrid1.DataSource = ceResults ;
            
            this.datagrid1.TableStyles.Clear () ;
            hideId de DataGridTableStyle = nouveau DataGridTableStyle () ;
            this.datagrid1.TableStyles.Add (hideId) ;
            hideId.GridColumnStyles [0]. Largeur = -1 ;
        }
        crochet (exSql de System.Data.SqlServerCe.SqlCeException)
        {
            si (exSql.Message.IndexOf (« ne pas exister ») > 0)
                MessageBox.Show (« svp resync tout le dispositif data.") ;
            autrement
                MessageBox.Show (exSql.Message) ;
        }
        crochet (exception ex)
        {
            MessageBox.Show (ex. Message) ;
        }
    }
    ***** de //
    //TODO : Refaire l'installation électrique de tous les traiteurs d'événement pour l'effet de diffusion et leur mettre le feu
    ***** de //
    GridHelper.RegisterDatagridEvents (référence datagrid1) ;
    class= >

    de
    class= de

Réponse : SqlCeResultSets dans Windows Mobile

Windows OneCare de phase a été discontinué sur 30.6.2009 et et établi sur la technologie de RAV. Le successeur est des bases de sécurité de Windows - un outil de freeware. Dans OneCare court c'est histoire…
J'emploie tout à fait souvent l'antimalware (ou sous peu le MBAM) de Malwarebytes - une version de freeware. Cette version n'a pas le balayage en temps réel, mais elle est tout à fait efficace contre toutes les sortes de malware.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us