Cuestión : SqlCeResultSets en Windows Mobile

Tengo un problema con un pedazo móvil que estoy trabajando en ése implico varios datagrids.  La selección hecha en el primer datagrid conduce las opciones que aparecen en un segundo, y así sucesivamente hasta que el usuario pueda conseguir al expediente de detalle específico que están después.  En cualquier momento, el usuario puede sostener al datagrid original (o a cualquiera han hecho ya una selección para) y cambiar su opción, que despeja las selecciones del “niño” que entonces re-se eligen.  En este caso, todos los datagrids son inalterables - el corregir ocurre en diverso problema de forms.

My es que el programa lanza un error de “no bastante almacenaje” la tercera vez un padre que se cambia la selección, que ocurre durante la pregunta para conseguir las nuevas opciones para el niño.  He intentado destruir los objetos de SqlCeCommand inmediatamente, que ensucia para arriba poder tirar de IDs seleccionados.  La solución alternativa siguiente que intenté los comprobaba momentos antes de rebinding.  Los adaptadores y las tablas de datos no son una opción debido a los gastos indirectos que generan.  Era mi comprensión (y experiencia hasta ahora) que SqlCeResultSet trabaja mucho más rápidamente con gastos indirectos mínimos, pero estoy dispuesto a intentar otras opciones.  el código del ejemplo del

The abajo se ha alterado para proteger la característica intelectual, y se proporciona como ejemplo.  Cifrar los detalles no proporcionados incluyen: la conexión persistente del >
  • A de la " bala " del class= del
    • Synchronization de la " bala " del class= de myStaticGlobals

    • Datagrid de la " bala " del class= de sync.

    • Selections del ayudante class.

    1 del >


     *****
    //TODO: unwire a cualquier tratante de acontecimiento que sea accionado por un rebind
    ***** de //
    GridHelper.UnregisterDatagridEvents (referencia datagrid1);
    
    cmdSql de System.Data.SqlServerCe.SqlCeCommand = nuevo System.Data.SqlServerCe.SqlCeCommand ();
    cmdSql.Connection = myStaticGlobals.LocalConnection;
    ceResults = falta de información de System.Data.SqlServerCe.SqlCeResultSet;
    
    visitContext de SelectedContext = myStaticGlobals.SelectedData.FindContext (“visita”, falsas);
    
    si ((falta de información del == de visitContext.SelectedId) || (falta de información del == de visitContext.SelectedTable))
        MessageBox.Show (“ninguna visita selected.");
    
    {
        cmdSql.CommandText =
            secuencia. Formato (“column1 selectos, column2 de table1 interno ensamblan {0} como visitas donde visits.id = {1}”, visitContext.SelectedTable, (Int64) visitContext.SelectedId);
        ////TODO: ¿agregar DataGridStyle?
    
        intento
        {
            ¡si (this.datagrid1.DataSource! = falta de información)
            {
                ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Cierre ();
                ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Disponer ();
            }
    
            ceResults = cmdSql.ExecuteResultSet (System.Data.SqlServerCe.ResultSetOptions.Scrollable | System.Data.SqlServerCe.ResultSetOptions.Insensitive); // <-- error lanzado aquí
            this.datagrid1.DataSource = ceResults;
            
            this.datagrid1.TableStyles.Clear ();
            hideId de DataGridTableStyle = nuevo DataGridTableStyle ();
            this.datagrid1.TableStyles.Add (hideId);
            hideId.GridColumnStyles [0]. Anchura = -1;
        }
        retén (exSql de System.Data.SqlServerCe.SqlCeException)
        {
            si (exSql.Message.IndexOf (“no existir”) > 0)
                MessageBox.Show (“por favor RESYNC todo el dispositivo data.");
            
                MessageBox.Show (exSql.Message);
        }
        retén (excepción ex)
        {
            MessageBox.Show (ex. Mensaje);
        }
    }
    ***** de //
    //TODO: Telegrafiar de nuevo a cualquier tratante de acontecimiento para el efecto de goteo y encenderlo
    ***** de //
    GridHelper.RegisterDatagridEvents (referencia datagrid1);
    class= >
    de
    class= del

Respuesta : SqlCeResultSets en Windows Mobile

Windows OneCare vivo se ha continuado en 30.6.2009 y y se ha empleado tecnología de RAV. El sucesor es esencial de la seguridad de Windows - una herramienta del freeware. En OneCare corto es historia…
Utilizo absolutamente a menudo el antimalware (o pronto MBAM) de Malwarebytes - una versión del freeware. Esta versión no tiene exploración en tiempo real, sino que es absolutamente eficaz contra todas las clases de malware.
Otras soluciones  
 
programming4us programming4us