Fråga : SqlCeResultSets i den Windows mobilen

Jag har ett problem med en mobil att lappa I-förmiddagarbetet på det gäller flera datagrids.  Valet som göras i den första datagriden, kör alternativen, som visas i en understödja, och så vidare, tills användaren kan få till närmare detalj specificerar rekordet som de är after.  På några peka, användaren kan säkerhetskopia till den original- datagriden (eller any de har redan gjort ett val för) och att ändra deras primat, som görar klar ”de barn” valen, som beträffande-väljs därefter.  I detta fall alla datagrids är skrivskydda - any att redigera äger rum på olikt problem för forms.

My är att programet kastar ett fel ”för inte nog lagring” den tredje tiden som ett förälderval ändras, som uppstår under queryen för att få de nya alternativen för barnet.  Jag har försökt förstörelse SqlCeCommanden anmärker omgående, som rörar upp att vara kompetent till utvalda IDs för handtag.  Den nästa lösningen som jag försökte, kontrollerade dem precis, innan den rebinding.  Dataadapter och bordlägger är inte ett alternativ på grund av fast utgift som de frambringar.  Det var min överenskommelse (och erfara så långt), den SqlCeResultSet arbeten mycket snabbare med minsta fast utgift, bara det villiga försök för I-förmiddagen andra alternativ.  exemplet för

The kodifierar nedanfört har förändrat sig för att skydda immateriell rättighet och ges som ett exempel.  Kodifiera specificerar inte förutsatt att inkluderar: för den class=" kulan " för
  • A ihärdig med lokaldatabasen höll i för class=" kula " för myStaticGlobals

  • Synchronization med en ledar- SQL-server.  Under synkronisering lokalanslutningen förstörs, och den reinstantiateds efter för den class=" kulan " för sync.

  • Datagrid bindas/unwireds till och med för en class=" kula " för hjälpreda class.

  • Selections spåras i ett beställnings- klassificerar med föräldern/barnförbindelse och metoder för att klara av den resulterande för class=" codeSnippet " för stack.


1 för >
 *****,
//TODO: unwire några händelseförlagehanterare som ska startas av en rebind
// *****,
GridHelper.UnregisterDatagridEvents (referens datagrid1);

System.Data.SqlServerCe.SqlCeCommand-cmdSql = ny System.Data.SqlServerCe.SqlCeCommand ();
cmdSql.Connection = myStaticGlobals.LocalConnection;
System.Data.SqlServerCe.SqlCeResultSet-ceResults = ogiltigt;

SelectedContext visitContext = myStaticGlobals.SelectedData.FindContext (”besök” som, är falska);

om ((ogiltig visitContext.SelectedId-==) || (ogiltig visitContext.SelectedTable-==))
    MessageBox.Show (”inget utvalt besök. ”);
annars
{
    cmdSql.CommandText =
        stränga. Formatera (”valda column1, column2 från inre table1 sammanfogar {0} som besök var visits.id = {1}”, visitContext.SelectedTable, (Int64) visitContext.SelectedId);
    ////TODO: tillfoga DataGridStyle?

    försök
    {
        om (this.datagrid1.DataSource! = ogiltigt)
        {
            ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Nära ();
            ((System.Data.SqlServerCe.SqlCeResultSet) this.datagrid1.DataSource). Kassera ();
        }

        ceResults = cmdSql.ExecuteResultSet (System.Data.SqlServerCe.ResultSetOptions.Scrollable | System.Data.SqlServerCe.ResultSetOptions.Insensitive); // <-- fel som här kastas
        this.datagrid1.DataSource = ceResults;
        
        this.datagrid1.TableStyles.Clear ();
        DataGridTableStyle hideId = nya DataGridTableStyle ();
        this.datagrid1.TableStyles.Add (hideId);
        hideId.GridColumnStyles [0]. Bredd = -1;
    }
    fånga (System.Data.SqlServerCe.SqlCeException-exSql)
    {
        om (exSql.Message.IndexOf (”att inte finnas”) > 0)
            MessageBox.Show (”behaga ren-sync alla apparatdata. ”);
        annars
            MessageBox.Show (exSql.Message);
    }
    fånga (undantagsföre detta)
    {
        MessageBox.Show (före detta. Meddelande);
    }
}
// *****,
//TODO: Lägg in nya ledningar några händelseförlagehanterare för trickle-down verkställer och avfyrar dem
// *****,
GridHelper.RegisterDatagridEvents (referens datagrid1);
<-/pre>

" klar "

Svar : SqlCeResultSets i den Windows mobilen

Windows levande OneCare har avbrutits på 30.6.2009 och och har byggts på RAV-teknologi. Efterträdaren är Windows säkerhetsessentials - en freeware bearbetar. I kort OneCare det är historia…,
Jag använder ganska ofta antimalware (eller kort MBAM) från Malwarebytes - en freewareversion. Denna version har inte realtidsbildläsning, men alla den är ganska effektiv mot sorterar av malware.
Andra lösningar  
 
programming4us programming4us