Pergunta : SqlCeResultSets em Windows Mobile

Eu tenho um problema com uma parte que móvel eu estou trabalhando naquele envolvo diversos datagrids.  A seleção feita no primeiro datagrid conduz as opções que aparecem em um segundo, e assim por diante até que o usuário possa começ ao registro que de detalhe específico são em seguida.  Em qualquer momento, o usuário pode suportar ao datagrid original (ou a algum têm feito já uma seleção para) e mudar sua escolha, que cancela as seleções da “criança” que re-são escolhidas então.  Neste caso, todos os datagrids são de leitura apenas - editar ocorre no problema diferente de forms.

My é que o programa joga de “um erro não bastante armazenamento” a terceira vez um pai que a seleção é mudada, que ocorre durante a pergunta para começ as opções novas para a criança.  Eu tentei destruir os objetos de SqlCeCommand imediatamente, que suja acima poder puxar IDs selecionados.  A ac1ão alternativa que seguinte eu tentei verific os imediatamente antes de rebinding.  Os adaptadores e as tabelas de dados não são uma opção por causa das despesas gerais que geram.  Era minha compreensão (e experiência até agora) que SqlCeResultSet trabalha muito mais rapidamente com despesas gerais mínimas, mas eu sou disposto tentar outras opções.  o código do exemplo do

The abaixo foi alterado para proteger a propriedade inteletual, e é fornecido como um exemplo.  Codificar os detalhes não fornecidos incluem: a conexão persistente do >
  • A da " bala " do class= do
    • Synchronization da " bala " do class= de myStaticGlobals

    • Datagrid da " bala " do class= de sync.

    • Selections bala " do class= do ajudante class.

    1 do >


     *****
    //TODO: unwire todos os alimentadores de evento que sejam provocados por um rebind
    ***** de //
    GridHelper.UnregisterDatagridEvents (referência datagrid1);
    
    cmdSql de System.Data.SqlServerCe.SqlCeCommand = System.Data.SqlServerCe.SqlCeCommand novo ();
    cmdSql.Connection = myStaticGlobals.LocalConnection;
    ceResults = zero de System.Data.SqlServerCe.SqlCeResultSet;
    
    visitContext de SelectedContext = myStaticGlobals.SelectedData.FindContext (“visita”, falsas);
    
    se ((zero do == de visitContext.SelectedId) || (zero do == de visitContext.SelectedTable))
        MessageBox.Show (“nenhuma visita selected.");
    mais
    {
        cmdSql.CommandText =
            corda. Formato (“column1 seletos, column2 de table1 interno se juntam {0} como as visitas onde visits.id = {1}”, visitContext.SelectedTable, (Int64) visitContext.SelectedId);
        ////TODO: adicionar DataGridStyle?
    
        tentativa
        {
            se (this.datagrid1.DataSource! = zero)
            {
                ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Fim ();
                ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Dispr ();
            }
    
            ceResults = cmdSql.ExecuteResultSet (System.Data.SqlServerCe.ResultSetOptions.Scrollable | System.Data.SqlServerCe.ResultSetOptions.Insensitive); // <-- erro jogado aqui
            this.datagrid1.DataSource = ceResults;
            
            this.datagrid1.TableStyles.Clear ();
            hideId de DataGridTableStyle = DataGridTableStyle novo ();
            this.datagrid1.TableStyles.Add (hideId);
            hideId.GridColumnStyles [0]. Largura = -1;
        }
        prendedor (exSql de System.Data.SqlServerCe.SqlCeException)
        {
            se (exSql.Message.IndexOf (“para não existir”) > 0)
                MessageBox.Show (“por favor re-sync todo o dispositivo data.");
            mais
                MessageBox.Show (exSql.Message);
        }
        prendedor (exceção ex)
        {
            MessageBox.Show (ex. Mensagem);
        }
    }
    ***** de //
    //TODO: Re-wire todos os alimentadores de evento para o efeito espargido e atear-lhes fogo
    ***** de //
    GridHelper.RegisterDatagridEvents (referência datagrid1);
    class= >
    de
    class= do

Resposta : SqlCeResultSets em Windows Mobile

Windows OneCare vivo foi interrompido em 30.6.2009 e e construído na tecnologia de RAV. O sucessor é fundamentos da segurança de Windows - uma ferramenta do freeware. Em OneCare curto é história…
Eu uso completamente frequentemente o antimalware (ou logo o MBAM) de Malwarebytes - uma versão do freeware. Esta versão não tem a varredura realtime, mas é completamente eficaz de encontro a todas as sortes do malware.
Outras soluções  
 
programming4us programming4us